fix bug:#2735 (#2770)
1. store process id in zk. 2. resolve host and port through zk path. 3. modify ui key.dev-1.3.0
parent
3d857bba92
commit
396b1716e4
|
|
@ -507,7 +507,7 @@ public final class Constants {
|
|||
/**
|
||||
* heartbeat for zk info length
|
||||
*/
|
||||
public static final int HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH = 9;
|
||||
public static final int HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH = 10;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ package org.apache.dolphinscheduler.common.utils;
|
|||
import org.apache.dolphinscheduler.common.Constants;
|
||||
import org.apache.dolphinscheduler.common.model.Server;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* heartbeat for ZK reigster res info
|
||||
*/
|
||||
|
|
@ -109,6 +107,8 @@ public class ResInfo {
|
|||
Double.parseDouble(masterArray[2])));
|
||||
masterServer.setCreateTime(DateUtils.stringToDate(masterArray[6]));
|
||||
masterServer.setLastHeartbeatTime(DateUtils.stringToDate(masterArray[7]));
|
||||
//set process id
|
||||
masterServer.setId(Integer.parseInt(masterArray[9]));
|
||||
return masterServer;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.server.master.registry;
|
|||
import org.apache.curator.framework.CuratorFramework;
|
||||
import org.apache.curator.framework.state.ConnectionState;
|
||||
import org.apache.curator.framework.state.ConnectionStateListener;
|
||||
import org.apache.dolphinscheduler.common.Constants;
|
||||
import org.apache.dolphinscheduler.common.utils.DateUtils;
|
||||
import org.apache.dolphinscheduler.common.utils.OSUtils;
|
||||
import org.apache.dolphinscheduler.remote.utils.NamedThreadFactory;
|
||||
|
|
@ -131,6 +132,7 @@ public class MasterRegistry {
|
|||
* @return
|
||||
*/
|
||||
private String getLocalAddress(){
|
||||
return OSUtils.getHost() + ":" + masterConfig.getListenPort();
|
||||
return OSUtils.getHost() + Constants.COLON + masterConfig.getListenPort();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,9 @@ public class HeartBeatTask extends Thread{
|
|||
builder.append(reservedMemory).append(Constants.COMMA);
|
||||
builder.append(startTime).append(Constants.COMMA);
|
||||
builder.append(DateUtils.dateToString(new Date())).append(Constants.COMMA);
|
||||
builder.append(status);
|
||||
builder.append(status).append(COMMA);
|
||||
//save process id
|
||||
builder.append(OSUtils.getProcessID());
|
||||
zookeeperRegistryCenter.getZookeeperCachedOperator().update(heartBeatPath, builder.toString());
|
||||
} catch (Throwable ex){
|
||||
logger.error("error write heartbeat info", ex);
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.server.worker.registry;
|
|||
import org.apache.curator.framework.CuratorFramework;
|
||||
import org.apache.curator.framework.state.ConnectionState;
|
||||
import org.apache.curator.framework.state.ConnectionStateListener;
|
||||
import org.apache.dolphinscheduler.common.Constants;
|
||||
import org.apache.dolphinscheduler.common.utils.DateUtils;
|
||||
import org.apache.dolphinscheduler.common.utils.OSUtils;
|
||||
import org.apache.dolphinscheduler.common.utils.StringUtils;
|
||||
|
|
@ -148,6 +149,7 @@ public class WorkerRegistry {
|
|||
* @return
|
||||
*/
|
||||
private String getLocalAddress(){
|
||||
return OSUtils.getHost() + ":" + workerConfig.getListenPort();
|
||||
return OSUtils.getHost() + Constants.COLON + workerConfig.getListenPort();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,12 +123,15 @@ public abstract class AbstractZKClient extends ZookeeperCachedOperator {
|
|||
String parentPath = getZNodeParentPath(zkNodeType);
|
||||
|
||||
List<Server> masterServers = new ArrayList<>();
|
||||
int i = 0;
|
||||
for (Map.Entry<String, String> entry : masterMap.entrySet()) {
|
||||
Server masterServer = ResInfo.parseHeartbeatForZKInfo(entry.getValue());
|
||||
masterServer.setZkDirectory(parentPath + "/"+ entry.getKey());
|
||||
masterServer.setId(i);
|
||||
i ++;
|
||||
String key = entry.getKey();
|
||||
masterServer.setZkDirectory(parentPath + "/"+ key);
|
||||
//set host and port
|
||||
String[] hostAndPort=key.split(COLON);
|
||||
String[] hosts=hostAndPort[0].split(DIVISION_STRING);
|
||||
masterServer.setHost(hosts[hosts.length-1]);// fetch the last one
|
||||
masterServer.setPort(Integer.parseInt(hostAndPort[1]));
|
||||
masterServers.add(masterServer);
|
||||
}
|
||||
return masterServers;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<div class="row-title">
|
||||
<div class="left">
|
||||
<span class="sp">IP: {{item.host}}</span>
|
||||
<span class="sp">{{$t('Process Pid')}}: {{item.port}}</span>
|
||||
<span class="sp">{{$t('Process Pid')}}: {{item.id}}</span>
|
||||
<span class="sp">{{$t('Zk registration directory')}}: {{item.zkDirectory}}</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<div class="row-title">
|
||||
<div class="left">
|
||||
<span class="sp">IP: {{item.host}}</span>
|
||||
<span class="sp">{{$t('Process Pid')}}: {{item.port}}</span>
|
||||
<span class="sp">{{$t('Process Pid')}}: {{item.id}}</span>
|
||||
<span class="sp">{{$t('Zk registration directory')}}: {{item.zkDirectory}}</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ export default {
|
|||
'Project Name': '项目名称',
|
||||
'Please enter name': '请输入名称',
|
||||
'Owned Users': '所属用户',
|
||||
'Process Pid': '进程pid',
|
||||
'Process Pid': '进程Pid',
|
||||
'Zk registration directory': 'zk注册目录',
|
||||
cpuUsage: 'cpuUsage',
|
||||
memoryUsage: 'memoryUsage',
|
||||
|
|
|
|||
Loading…
Reference in New Issue