Parcourir la source

refactor ResInfo

lenboo il y a 5 ans
Parent
commit
fd89dff3ab

+ 0 - 2
escheduler-api/src/test/java/cn/escheduler/api/utils/ZookeeperMonitorUtilsTest.java

@@ -20,8 +20,6 @@ public class ZookeeperMonitorUtilsTest {
 
         List<MasterServer> workerServerList = zookeeperMonitor.getWorkerServers();
 
-        System.out.println("master:" + masterServerList);
-        System.out.println("worker:" + workerServerList);
         Assert.assertEquals(masterServerList.size(), 1);
         Assert.assertEquals(workerServerList.size(), 1);
 

+ 0 - 6
escheduler-common/src/main/java/cn/escheduler/common/utils/IpUtils.java

@@ -61,10 +61,4 @@ public class IpUtils {
     return sb.toString();
   }
 
-
-
-  public static void main(String[] args){
-    long ipLong = ipToLong("11.3.4.5");
-    logger.info(longToIp(ipLong));
-  }
 }

+ 0 - 2
escheduler-common/src/test/java/cn/escheduler/common/queue/TaskQueueImplTest.java

@@ -20,13 +20,11 @@ import cn.escheduler.common.Constants;
 import cn.escheduler.common.utils.IpUtils;
 import cn.escheduler.common.utils.OSUtils;
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Arrays;
 import java.util.List;
 import java.util.Random;
 

+ 41 - 0
escheduler-common/src/test/java/cn/escheduler/common/utils/IpUtilsTest.java

@@ -0,0 +1,41 @@
+package cn.escheduler.common.utils;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class IpUtilsTest {
+
+    @Test
+    public void ipToLong() {
+
+        String ip = "192.168.110.1";
+        String ip2 = "0.0.0.0";
+        long longNumber = IpUtils.ipToLong(ip);
+        long longNumber2 = IpUtils.ipToLong(ip2);
+        System.out.println(longNumber);
+        Assert.assertEquals(longNumber, 3232263681L);
+        Assert.assertEquals(longNumber2, 0L);
+
+        String ip3 = "255.255.255.255";
+        long longNumber3 = IpUtils.ipToLong(ip3);
+        System.out.println(longNumber3);
+        Assert.assertEquals(longNumber3, 4294967295L);
+
+    }
+
+    @Test
+    public void longToIp() {
+
+        String ip = "192.168.110.1";
+        String ip2 = "0.0.0.0";
+        long longNum = 3232263681L;
+        String i1 = IpUtils.longToIp(longNum);
+
+        String i2 = IpUtils.longToIp(0);
+
+        Assert.assertEquals(ip, i1);
+        Assert.assertEquals(ip2, i2);
+    }
+}

+ 10 - 0
escheduler-server/src/main/java/cn/escheduler/server/ResInfo.java

@@ -102,6 +102,16 @@ public class ResInfo {
     }
 
 
+    public static String getHeartBeatInfo(Date now){
+        return buildHeartbeatForZKInfo(OSUtils.getHost(),
+                OSUtils.getProcessID(),
+                OSUtils.cpuUsage(),
+                OSUtils.memoryUsage(),
+                DateUtils.dateToString(now),
+                DateUtils.dateToString(now));
+
+    }
+
     /**
      * build heartbeat info for zk
      * @param host

+ 6 - 22
escheduler-server/src/main/java/cn/escheduler/server/zk/ZKMasterClient.java

@@ -204,7 +204,7 @@ public class ZKMasterClient extends AbstractZKClient {
 			}
 
 			// specify the format of stored data in ZK nodes
-			String heartbeatZKInfo = getOsInfo(now);
+			String heartbeatZKInfo = ResInfo.getHeartBeatInfo(now);
 			// create temporary sequence nodes for master znode
 			masterZNode = zkClient.create().withMode(CreateMode.EPHEMERAL_SEQUENTIAL).forPath(
 					masterZNodeParentPath + "/" + OSUtils.getHost() + "_", heartbeatZKInfo.getBytes());
@@ -259,10 +259,10 @@ public class ZKMasterClient extends AbstractZKClient {
 			return false;
 		}
 
-		List<String> masterZNodeList = null;
-        masterZNodeList = zkClient.getChildren().forPath(path);
-		if (CollectionUtils.isNotEmpty(masterZNodeList)){
-            for (String masterZNode : masterZNodeList){
+		List<String> serverList = null;
+        serverList = zkClient.getChildren().forPath(path);
+		if (CollectionUtils.isNotEmpty(serverList)){
+            for (String masterZNode : serverList){
                 if (masterZNode.startsWith(host)){
                     return true;
                 }
@@ -423,22 +423,6 @@ public class ZKMasterClient extends AbstractZKClient {
 
 	}
 
-
-	/**
-	 * get os info
-	 * @param now
-	 * @return
-	 */
-	private String getOsInfo(Date now) {
-		return ResInfo.buildHeartbeatForZKInfo(OSUtils.getHost(),
-				OSUtils.getProcessID(),
-				OSUtils.cpuUsage(),
-				OSUtils.memoryUsage(),
-				DateUtils.dateToString(now),
-				DateUtils.dateToString(now));
-	}
-
-
 	/**
 	 *  get master znode
 	 * @return
@@ -541,7 +525,7 @@ public class ZKMasterClient extends AbstractZKClient {
 	}
 
 	/**
-	 *  get host ip
+	 *  get host ip, string format: masterParentPath/ip_000001/value
 	 * @param path
 	 * @return
 	 */

+ 2 - 19
escheduler-server/src/main/java/cn/escheduler/server/zk/ZKWorkerClient.java

@@ -116,11 +116,10 @@ public class ZKWorkerClient extends AbstractZKClient {
 
 	public String initWorkZNode() throws Exception {
 
-		Date now = new Date();
-		String heartbeatZKInfo = getOsInfo(now);
-
+		String heartbeatZKInfo = ResInfo.getHeartBeatInfo(new Date());
 
 		workerZNode = workerZNodeParentPath + "/" + OSUtils.getHost() + "_";
+
 		workerZNode = zkClient.create().withMode(CreateMode.EPHEMERAL_SEQUENTIAL).forPath(workerZNode,
 				heartbeatZKInfo.getBytes());
 		logger.info("register worker node {} success", workerZNode);
@@ -141,7 +140,6 @@ public class ZKWorkerClient extends AbstractZKClient {
 			workerZNode = workerZNodeParentPath + "/" + OSUtils.getHost() + "_";
 			List<String> workerZNodeList = zkClient.getChildren().forPath(workerZNodeParentPath);
 
-
 			if (CollectionUtils.isNotEmpty(workerZNodeList)){
 				boolean flag = false;
 				for (String workerZNode : workerZNodeList){
@@ -241,21 +239,6 @@ public class ZKWorkerClient extends AbstractZKClient {
 
 	}
 
-	/**
-	 * get os info
-	 * @param now
-	 * @return
-	 */
-	private String getOsInfo(Date now) {
-		return ResInfo.buildHeartbeatForZKInfo(OSUtils.getHost(),
-				OSUtils.getProcessID(),
-				OSUtils.cpuUsage(),
-				OSUtils.memoryUsage(),
-				DateUtils.dateToString(now),
-				DateUtils.dateToString(now));
-	}
-
-
 	/**
 	 * get worker znode
 	 * @return