From 6e855189ee4a4153966aee1fff5c415fbe48c5df Mon Sep 17 00:00:00 2001 From: hugui <254963746@qq.com> Date: Thu, 20 Aug 2015 17:19:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=20LTS-Admin=E4=B8=AD=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=BB=E6=9C=BA=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lts/web/support/memorydb/NodeMemoryDB.java | 10 +++++++--- .../src/main/webapp/main/node-manager.jsp | 6 +++--- .../main/java/com/lts/core/cluster/Node.java | 9 +++++++++ .../com/lts/core/commons/utils/NetUtils.java | 8 ++++++++ .../java/com/lts/core/factory/NodeFactory.java | 1 + .../lts/core/registry/NodeRegistryUtils.java | 6 +++++- .../lts/example/benchmark/JobTrackerMain.java | 4 +++- .../com/lts/example/support/TestJobRunner.java | 18 +++++++++--------- .../src/main/resources/log4j.properties | 4 ++-- 9 files changed, 47 insertions(+), 19 deletions(-) diff --git a/lts-admin/src/main/java/com/lts/web/support/memorydb/NodeMemoryDB.java b/lts-admin/src/main/java/com/lts/web/support/memorydb/NodeMemoryDB.java index ca12efadc..7fa582c78 100644 --- a/lts-admin/src/main/java/com/lts/web/support/memorydb/NodeMemoryDB.java +++ b/lts-admin/src/main/java/com/lts/web/support/memorydb/NodeMemoryDB.java @@ -30,8 +30,9 @@ public class NodeMemoryDB extends MemoryDB { " port, " + " nodeGroup, " + " createTime, " + - " threads)" + - " VALUES (?,?,?,?,?,?,?,?,?)"; + " threads," + + " hostName)" + + " VALUES (?,?,?,?,?,?,?,?,?,?)"; private String deleteSQL = "DELETE FROM lts_node where identity = ?"; @@ -50,6 +51,7 @@ private void createTable() { " nodeGroup varchar(64) ," + " createTime bigint ," + " threads int ," + + " hostName varchar(64) ," + " PRIMARY KEY (identity))"; try { @@ -78,7 +80,8 @@ public void addNode(List nodes) { node.getPort(), node.getGroup(), node.getCreateTime(), - node.getThreads() + node.getThreads(), + node.getHostName() ); } catch (Exception e) { LOGGER.error("Insert {} error!", node, e); @@ -139,6 +142,7 @@ public List handle(ResultSet rs) throws SQLException { node.setCreateTime(rs.getLong("createTime")); node.setThreads(rs.getInt("threads")); node.setAvailable(rs.getInt("available") == 1); + node.setHostName(rs.getString("hostName")); nodes.add(node); } return nodes; diff --git a/lts-admin/src/main/webapp/main/node-manager.jsp b/lts-admin/src/main/webapp/main/node-manager.jsp index 12a1d3370..6ef154b06 100644 --- a/lts-admin/src/main/webapp/main/node-manager.jsp +++ b/lts-admin/src/main/webapp/main/node-manager.jsp @@ -167,11 +167,11 @@ } }, { - title: 'IP', dataIndex: 'ip', width: 140, renderer: function (v, obj) { + title: '机器', dataIndex: 'ip', width: 140, renderer: function (v, obj) { if (obj['nodeType'] == 'JOB_TRACKER') { - return obj['ip'] + ":" + obj['port']; + return obj['hostName'] + "
(" + obj['ip'] + ":" + obj['port'] + ")"; } - return obj['ip']; + return obj['hostName'] + "
(" + obj['ip'] + ")"; } }, { diff --git a/lts-core/src/main/java/com/lts/core/cluster/Node.java b/lts-core/src/main/java/com/lts/core/cluster/Node.java index c928ffaf6..5882c1e0f 100644 --- a/lts-core/src/main/java/com/lts/core/cluster/Node.java +++ b/lts-core/src/main/java/com/lts/core/cluster/Node.java @@ -18,6 +18,7 @@ public class Node { private NodeType nodeType; private String ip; private Integer port; + private String hostName; private String group; private Long createTime = SystemClock.now(); // 线程个数 @@ -30,6 +31,14 @@ public class Node { private String fullString; + public String getHostName() { + return hostName; + } + + public void setHostName(String hostName) { + this.hostName = hostName; + } + public boolean isAvailable() { return available; } diff --git a/lts-core/src/main/java/com/lts/core/commons/utils/NetUtils.java b/lts-core/src/main/java/com/lts/core/commons/utils/NetUtils.java index 0407f6663..6c370ca40 100644 --- a/lts-core/src/main/java/com/lts/core/commons/utils/NetUtils.java +++ b/lts-core/src/main/java/com/lts/core/commons/utils/NetUtils.java @@ -127,6 +127,14 @@ public static String getLocalHost() { return address == null ? LOCALHOST : address.getHostAddress(); } + public static String getLocalHostName(){ + InetAddress address = getLocalAddress(); + if(address == null){ + return "localhost"; + } + return address.getHostName(); + } + /** * 遍历本地网卡,返回第一个合理的IP。 * diff --git a/lts-core/src/main/java/com/lts/core/factory/NodeFactory.java b/lts-core/src/main/java/com/lts/core/factory/NodeFactory.java index 15e823b07..16aefcf83 100644 --- a/lts-core/src/main/java/com/lts/core/factory/NodeFactory.java +++ b/lts-core/src/main/java/com/lts/core/factory/NodeFactory.java @@ -14,6 +14,7 @@ public static T create(Class clazz, Config config) { try { T node = clazz.newInstance(); node.setIp(NetUtils.getLocalHost()); + node.setHostName(NetUtils.getLocalHostName()); node.setGroup(config.getNodeGroup()); node.setThreads(config.getWorkThreads()); node.setPort(config.getListenPort()); diff --git a/lts-core/src/main/java/com/lts/core/registry/NodeRegistryUtils.java b/lts-core/src/main/java/com/lts/core/registry/NodeRegistryUtils.java index 2df6e1052..58533255a 100644 --- a/lts-core/src/main/java/com/lts/core/registry/NodeRegistryUtils.java +++ b/lts-core/src/main/java/com/lts/core/registry/NodeRegistryUtils.java @@ -58,6 +58,8 @@ public static Node parse(String fullPath) { node.setCreateTime(Long.valueOf(value)); } else if ("isAvailable".equals(key)) { node.setAvailable(Boolean.valueOf(value)); + } else if("hostName".equals(key)){ + node.setHostName(value); } } return node; @@ -93,7 +95,9 @@ public static String getFullPath(Node node) { .append("&createTime=") .append(node.getCreateTime()) .append("&isAvailable=") - .append(node.isAvailable()); + .append(node.isAvailable()) + .append("&hostName=") + .append(node.getHostName()); return path.toString(); } diff --git a/lts-example/src/main/java/com/lts/example/benchmark/JobTrackerMain.java b/lts-example/src/main/java/com/lts/example/benchmark/JobTrackerMain.java index 76b11f194..fb4d1c146 100644 --- a/lts-example/src/main/java/com/lts/example/benchmark/JobTrackerMain.java +++ b/lts-example/src/main/java/com/lts/example/benchmark/JobTrackerMain.java @@ -1,6 +1,7 @@ package com.lts.example.benchmark; import com.lts.example.support.MasterChangeListenerImpl; +import com.lts.example.support.MemoryStatus; import com.lts.jobtracker.JobTracker; import com.lts.jobtracker.support.policy.OldDataDeletePolicy; @@ -48,13 +49,14 @@ public static void main(String[] args) { jobTracker.addConfig("job.queue", "mongo"); // mongo 配置 jobTracker.addConfig("mongo.addresses", "127.0.0.1:27017"); // 多个地址用逗号分割 - jobTracker.addConfig("mongo.database", "lts2"); + jobTracker.addConfig("mongo.database", "lts3"); // 这个是对于 返回给客户端 任务的 老数据删除策略 jobTracker.setOldDataHandler(new OldDataDeletePolicy()); // 设置 zk 客户端用哪个, 可选 zkclient(默认), curator jobTracker.addConfig("zk.client", "zkclient"); // 启动节点 jobTracker.start(); + MemoryStatus.print(); Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { diff --git a/lts-example/src/main/java/com/lts/example/support/TestJobRunner.java b/lts-example/src/main/java/com/lts/example/support/TestJobRunner.java index 0ec0c49f8..be9c480d7 100644 --- a/lts-example/src/main/java/com/lts/example/support/TestJobRunner.java +++ b/lts-example/src/main/java/com/lts/example/support/TestJobRunner.java @@ -20,15 +20,15 @@ public class TestJobRunner implements JobRunner { @Override public Result run(Job job) throws Throwable { try { - Thread.sleep(1000L); - - if (job.getRetryTimes() > 5) { - return new Result(Action.EXECUTE_FAILED, "重试次数超过5次了,放过你吧!"); - } - - if (SystemClock.now() % 2 == 1) { - return new Result(Action.EXECUTE_LATER, "稍后执行"); - } +// Thread.sleep(1000L); +// +// if (job.getRetryTimes() > 5) { +// return new Result(Action.EXECUTE_FAILED, "重试次数超过5次了,放过你吧!"); +// } +// +// if (SystemClock.now() % 2 == 1) { +// return new Result(Action.EXECUTE_LATER, "稍后执行"); +// } // TODO 业务逻辑 LOGGER.info("我要执行:" + job); diff --git a/lts-example/src/main/resources/log4j.properties b/lts-example/src/main/resources/log4j.properties index 5a639ac45..096897efc 100644 --- a/lts-example/src/main/resources/log4j.properties +++ b/lts-example/src/main/resources/log4j.properties @@ -1,7 +1,7 @@ -log4j.rootLogger=WARN,stdout +log4j.rootLogger=INFO,stdout -log4j.appender.stdout.Threshold=WARN +log4j.appender.stdout.Threshold=INFO log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n