Ho> 10 nodi in un cluster. Ho installato uno stack Hadoop sul cluster usando Cloudera (YARN, HBase, Hue, Hadoop FS, Spark, Flink). C'è un modo semplice per raccogliere statistiche globali di tutti i nodi (in termini di utilizzo della CPU, utilizzo della memoria e utilizzo della rete) e leggerlo con Python? Lo scopo di usare Python è che sono completamente libero di specificare i grafici e di assicurare uno stile di stampa uniforme nel mio rapporto. Quale software posso usare per realizzare questo? Non deve essere distribuito, basta una libreria facile.Monitorare un cluster di nodi
risposta
ho fatto un pacchetto di me stesso: http://github.com/kevin91nl/isa
Un tutorial può essere trovato su https://www.data-blogger.com/2016/07/18/monitoring-your-cluster-in-just-a-few-minutes/
Se qualcuno conosce una migliore alternativa, fatemelo sapere.
Spero che i gangli soddisfino il requisito. Ma ancora dovrebbe essere configurato su tutti i nodi nel cluster. –
Vorrei suggerire di utilizzare ansible per questo scopo. Ecco un semplice playbook che raccoglie alcuni dati su host specificati nel inventory file e lo aggiunge un file locale:
- 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
è possibile eseguirlo come segue: ansible-playbook -i ansible-inventory stats-playbook.yml --forks=1
- ansible_inventory è il file contenente un elenco dei tuoi host
- stats-playbook.yml è il file stampato sopra
Ovviamente, a seconda di come archiviare i dati raccolti potrebbe essere implementato in modo diverso, ma penso che l'idea generale sia chiara. In ogni caso, ci sono molti modi per risolverlo in ansible.
Inoltre, ansible ha API python e puoi fare la maggior parte delle cose direttamente da python! Vale a dire, questo è il modo siamo in grado di raccogliere la configurazione del cluster:
import pprint
import ansible.runner
import ansible.inventory
inventory_file = 'ansible_inventory' # see ansible inventory files
inventory = ansible.inventory.Inventory(inventory_file)
runner = ansible.runner.Runner(
module_name='setup',
module_args='',
pattern='all',
inventory=inventory
)
cluster_facts = runner.run()
pprint.pprint(cluster_facts)
Sembra fantastico! Grazie :-) –
- 1. Cluster di cluster Networkx
- 2. Aggiungi nodi al cluster di kubernetes su AWS?
- 3. Aggiunta di nodi a cluster esistenti in Kubernetes
- 4. Parallel R su un cluster di Windows
- 5. Cassandra - Rimozione di un nodo dal cluster
- 6. Cluster Hadoop a più nodi con finestra mobile
- 7. Programmazione R - invio di lavori su un cluster Linux di nodi multipli utilizzando PBS
- 8. Come migrare il cluster a singolo token in un nuovo cluster vnodes senza tempi di inattività?
- 9. C'è un modo per aggiungere nodi a un cluster Hadoop in esecuzione?
- 10. Come aggiungere a un file hdfs su un cluster estremamente piccolo (3 nodi o meno)
- 11. cluster Grafici Tecniche di visualizzazione
- 12. Come monitorare un nodo di erlang remoto che era inattivo e in fase di riavvio
- 13. È possibile utilizzare porte diverse per i nodi in un cluster Cassandra?
- 14. Eseguire un cluster hadoop sui contenitori docker
- 15. Come monitorare un server puma?
- 16. Come monitorare elasticsearch utilizzando nagios
- 17. Monitorare le query di un utente MySQL
- 18. Come monitorare un thread di vitale importanza
- 19. Alcuni nodi cassandra nel cluster sono irraggiungibili anche se tutti i nodi sono attivi e in esecuzione
- 20. @ApplicationScoped in un cluster
- 21. Come proteggere Redis Cluster?
- 22. Determinare quanto è pieno un cluster Cassandra
- 23. Aggiunta dinamica di nuovi nodi in Cassandra
- 24. Akka nodi di semi di cluster danno errore: far cadere un messaggio per il destinatario non locale
- 25. Come gestire il fallimento di Kafka Cluster
- 26. Trovare il centro di un cluster
- 27. Esecuzione di TensorFlow su un cluster Slurm?
- 28. Prestazioni Ehcache su un cluster di grandi dimensioni
- 29. Distribuire Scala su un cluster?
- 30. Copia di una tabella da un cluster redshift a un altro cluster redshift (senza utilizzare s3)
sto usando librato.com, ha un processo molto semplice integrazione di leggere metriche e mostrare loro in un bel cruscotto, e anche un modulo python per pubblicare o recuperare dati. – Maviles