HDFSClient.py 588 B

12345678910111213141516171819202122
  1. import json
  2. import requests
  3. class HDFSClient(object):
  4. def __init__(self, cluster_ip, port):
  5. self.cluster_ip = cluster_ip
  6. self.port = port
  7. def get_name_node_info(self) -> dict:
  8. url = f"http://{self.cluster_ip}:{self.port}/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo"
  9. resp = requests.get(url)
  10. if resp.status_code == 200:
  11. return json.loads(resp.text)
  12. else:
  13. return {}
  14. def get_data_node_info(self):
  15. resp = self.get_name_node_info()
  16. return json.loads(resp['beans'][0]['LiveNodes'])