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'])