12345678910111213141516171819202122 |
- import json
- import requests
- class HDFSClient(object):
- def __init__(self, cluster_ip, port):
- self.cluster_ip = cluster_ip
- self.port = port
- def get_name_node_info(self) -> dict:
- url = f"http://{self.cluster_ip}:{self.port}/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo"
- resp = requests.get(url)
- if resp.status_code == 200:
- return json.loads(resp.text)
- else:
- return {}
- def get_data_node_info(self):
- resp = self.get_name_node_info()
- return json.loads(resp['beans'][0]['LiveNodes'])
|