我想获取有关Spark群集中的应用程序正在使用的工作程序的信息。我需要获得其IP地址,CPU内核,可用内存等。 为此目的,是否有任何API? 上图在Spark UI上显示相同的信息,但我无法找到通过JAVA代码获取它的方法。
这是JAVA特有的。 我想要所有工作节点信息。 感谢。
答案 0 :(得分:1)
有多种方法可以做到这一点:
解析输出日志消息,并查看群集中每台计算机上启动的工作程序。您可以获取所有主机的名称/ IP,何时启动任务以及每个工作人员获取多少内存等。如果要查看确切的HW配置,则需要登录到工作节点或使用不同的工具。
与Web前端相同的信息包含在spark应用程序的eventLogs中(这实际上是您看到的数据来自的位置)。我更喜欢使用eventLog,因为它很容易在python而不是日志消息中解析。
如果您想要对群集进行实时监控,您可以使用ganglia(提供CPU /内存/网络/磁盘的漂亮图形显示)或使用colmux,它可以为您提供相同的数据但是在文本中格式。我个人更喜欢colmux(更容易设置,你可以立即获得统计数据等)。