我试图检查任务跟踪器是否运行在服务器上。如何使用Java代码进行检查?
我不需要命令行解决方案。是否有Java来检查任务跟踪器的状态?
发布于 2017-06-22 12:21:38
一种解决方案是为JMX度量JSON转储URL调用服务的HTTP端点。您可以使用您选择的语言中的任何HTTP客户端库来完成此操作。您提到了TaskTracker,因此听起来您正在运行Hadoop 1。
<property>
<name>mapred.task.tracker.http.address</name>
<value>0.0.0.0:50060</value>
<description>
The task tracker http server address and port.
If the port is 0 then the server will start on a free port.
</description>
</property>
假设您没有覆盖它,使用GET请求调用的URL将是http://<host>:50060/jmx
。
许多Hadoop守护进程公开一个HTTP并响应/jmx
URL。此解决方案不仅限于TaskTracker。JSON响应中的特定指标负载在每个守护进程中是不同的,但是如果您只是对守护进程是否正在运行感兴趣,那么只需检查成功的HTTP响应就足够了。
https://stackoverflow.com/questions/44707582
复制