监视节点群集

2024-06-28 16:03:16 发布

您现在位置:Python中文网/ 问答频道 /正文

集群中有10个以上的节点。我已经使用Cloudera(YARN、HBase、Hue、hadoopfs、Spark、Flink)在集群上安装了一个Hadoop堆栈。有没有一种简单的方法可以收集所有节点的全局统计信息(在CPU使用率、内存使用率和网络使用率方面)并用Python读出?使用Python的目的是让我完全自由地指定绘图,并确保报表中的打印样式统一。我可以使用哪种软件来完成这项工作?它不需要分发,只要一个简单的库就足够了。在


Tags: 方法hadoop信息节点堆栈集群全局hue
1条回答
网友
1楼 · 发布于 2024-06-28 16:03:16

为此,我建议考虑使用ansible。 下面是一个简单的playbook,它在inventory file中指定的主机上收集一些数据并将其附加到本地文件:

- hosts: all
  remote_user: your_user
  tasks:
  - name: collect load average
    shell: cat /proc/loadavg
    register: cluster_node_la

  - name: write to local disk
    lineinfile: dest=/tmp/cluster_stat create=yes line="{{ ansible_fqdn }}:{{ cluster_node_la.stdout_lines }}"
    delegate_to: 127.0.0.1

您可以按如下方式运行它: ansible-playbook -i ansible-inventory stats-playbook.yml forks=1

  • ansible_inventory是包含主机列表的文件
  • 统计-剧本.yml文件是否打印在上面

当然,根据你将如何存储收集到的数据,它的实现方式可能会有所不同,但我认为总体思路是清楚的。总之,在ansible中有很多方法可以解决这个问题。在

此外,ansible有python API,您可以直接从python中执行大多数操作!一、 e,这是我们收集集群配置的方法:

^{pr2}$

相关问题 更多 >