我在一个集群中有>10个节点。我已经使用cloudera(yarn、hbase、hue、hadoop fs、spark、flink)在集群上安装了一个hadoop堆栈。有没有一种简单的方法来收集所有节点的全局统计数据(在cpu使用率、内存使用率和网络使用率方面)并用python读取?使用python的目的是,我可以完全自由地指定绘图,并确保在报告中使用统一的绘图样式。我可以用哪个软件来完成这个任务?它不需要分发,只要一个简单的库就足够了。
我在一个集群中有>10个节点。我已经使用cloudera(yarn、hbase、hue、hadoop fs、spark、flink)在集群上安装了一个hadoop堆栈。有没有一种简单的方法来收集所有节点的全局统计数据(在cpu使用率、内存使用率和网络使用率方面)并用python读取?使用python的目的是,我可以完全自由地指定绘图,并确保在报告中使用统一的绘图样式。我可以用哪个软件来完成这个任务?它不需要分发,只要一个简单的库就足够了。
1条答案
按热度按时间bejyjqdl1#
为此,我建议考虑使用ansible。下面是一个简单的剧本,它在清单文件中指定的主机上收集一些数据,并将其附加到本地文件:
您可以按如下方式运行它:
ansible-playbook -i ansible-inventory stats-playbook.yml --forks=1
ansible\u inventory是包含主机列表的文件stats-playbook.yml是上面打印的文件
当然,根据您将如何存储收集的数据,可能会有不同的实现方式,但我认为总体思路是清楚的。不管怎样,在ansible中有很多方法可以解决这个问题。
此外,ansible有pythonapi,您可以直接从python做大多数事情!i、 e,这是我们收集群集配置的方法: