@Override public void call() throws Exception { worker.run(); } });
@Override protected void afterStop() { appContext.getMStatReporter().stop(); }
@Override protected void afterStart() { appContext.getMStatReporter().start(); }
try { MData mData = reporter.collectMData(); long seconds = SystemClock.now() / 1000; seconds = seconds - (seconds % 60); // 所有都向下取整,保证是60的倍数 report(mData);
private MNode buildMNode() { MNode mNode = new MNode(); mNode.setNodeType(reporter.getNodeType()); mNode.setNodeGroup(appContext.getConfig().getNodeGroup()); mNode.setIdentity(appContext.getConfig().getIdentity()); return mNode; } }
public final void start() { // 启动JVM监控 JVMMonitor.start(); final MStatReportWorker worker = new MStatReportWorker(appContext, this); try { if (!config.getParameter(ExtConfig.M_STAT_REPORTER_CLOSED, false)) { if (start.compareAndSet(false, true)) { scheduledFuture = executor.scheduleWithFixedDelay(worker, 1, 1, TimeUnit.SECONDS); LOGGER.info("MStatReporter start succeed."); } } } catch (Exception e) { LOGGER.error("MStatReporter start failed.", e); } NodeShutdownHook.registerHook(appContext, this.getClass().getName(), new Callable() { @Override public void call() throws Exception { worker.run(); } }); }
private boolean sendReq(List<Node> monitorNodes, HttpCmd cmd) { while (true) { Node node = selectMNode(monitorNodes); try { cmd.setNodeIdentity(node.getIdentity()); HttpCmdResponse response = HttpCmdClient.doPost(node.getIp(), node.getPort(), cmd); if (response.isSuccess()) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Report Monitor Data Success."); } return true; } else { LOGGER.warn("Report Monitor Data Failed: " + response.getMsg()); monitorNodes.remove(node); } } catch (Exception e) { LOGGER.warn("Report Monitor Data Error: " + e.getMessage(), e); // 重试下一个 } if (monitorNodes.size() == 0) { return false; } } }
@Override protected void afterStop() { appContext.getMStatReporter().stop(); }
@Override protected void afterStart() { appContext.getMStatReporter().start(); }
try { MData mData = reporter.collectMData(); long seconds = SystemClock.now() / 1000; seconds = seconds - (seconds % 60); // 所有都向下取整,保证是60的倍数 report(mData);
@Override public void call() throws Exception { worker.run(); } });
private MNode buildMNode() { MNode mNode = new MNode(); mNode.setNodeType(reporter.getNodeType()); mNode.setNodeGroup(appContext.getConfig().getNodeGroup()); mNode.setIdentity(appContext.getConfig().getIdentity()); return mNode; } }
@Override protected void afterStop() { appContext.getMStatReporter().stop(); appContext.getStopWorkingMonitor().stop(); appContext.getRunnerPool().shutDown(); }
@Override protected void afterStart() { appContext.getChannelManager().start(); appContext.getMStatReporter().start(); }
@Override protected void afterStop() { appContext.getChannelManager().stop(); appContext.getMStatReporter().stop(); appContext.getHttpCmdServer().stop(); }
@Override protected void afterStart() { appContext.getChannelManager().start(); appContext.getMStatReporter().start(); }
@Override protected void afterStop() { appContext.getChannelManager().stop(); appContext.getMStatReporter().stop(); appContext.getHttpCmdServer().stop(); }
@Override protected void beforeStart() { appContext.setMStatReporter(new TaskTrackerMStatReporter(appContext)); appContext.setRemotingClient(remotingClient); // 设置 线程池 appContext.setRunnerPool(new RunnerPool(appContext)); appContext.getMStatReporter().start(); appContext.setJobPullMachine(new JobPullMachine(appContext)); appContext.setStopWorkingMonitor(new StopWorkingMonitor(appContext)); appContext.getHttpCmdServer().registerCommands( new JobTerminateCmd(appContext)); // 终止某个正在执行的任务 }
@Override protected void afterStop() { appContext.getMStatReporter().stop(); appContext.getStopWorkingMonitor().stop(); appContext.getRunnerPool().shutDown(); }
@Override protected void beforeStart() { appContext.setMStatReporter(new TaskTrackerMStatReporter(appContext)); appContext.setRemotingClient(remotingClient); // 设置 线程池 appContext.setRunnerPool(new RunnerPool(appContext)); appContext.getMStatReporter().start(); appContext.setJobPullMachine(new JobPullMachine(appContext)); appContext.setStopWorkingMonitor(new StopWorkingMonitor(appContext)); appContext.getHttpCmdServer().registerCommands( new JobTerminateCmd(appContext)); // 终止某个正在执行的任务 }