Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过rest api(或ambari rest api)捕获活动的namenode IP_Api_Hadoop_Ambari_Hdp - Fatal编程技术网

如何通过rest api(或ambari rest api)捕获活动的namenode IP

如何通过rest api(或ambari rest api)捕获活动的namenode IP,api,hadoop,ambari,hdp,Api,Hadoop,Ambari,Hdp,我们有版本为2.6.5的HDP集群,带有ambari平台 在集群中,我们有两个NameNode,一个是活动的,另一个是备用的 我们希望捕获活动的namenode IP或活动的namenode主机名 我们尝试了以下API,但没有成功(此API不返回输出) 注意-主计算机是ambari服务器计算机 我错在哪里?今天我碰到了同样的问题,我相信安巴里会成功的 这就是我的方法 它在我的集群中给了我这个结果 hn0-ha004.o0gzzt3sfaaeri0tmljgqkvvdc.cx.internal.c

我们有版本为
2.6.5
的HDP集群,带有ambari平台

在集群中,我们有两个NameNode,一个是活动的,另一个是备用的

我们希望捕获活动的namenode IP或活动的namenode主机名

我们尝试了以下API,但没有成功(此API不返回输出)

注意-主计算机是ambari服务器计算机


我错在哪里?

今天我碰到了同样的问题,我相信安巴里会成功的

这就是我的方法

它在我的集群中给了我这个结果

hn0-ha004.o0gzzt3sfaaeri0tmljgqkvvdc.cx.internal.chinacloudapp.cn 10.236.111.17 active
hn1-ha004.o0gzzt3sfaaeri0tmljgqkvvdc.cx.internal.chinacloudapp.cn 10.236.111.18 standby

我不认为Ambari给了你这个信息。您可以使用NameNode HTTP地址directly@cricket_007,我发现API-curl http://$IP_OF_NAME_NODE:50070/jmx?qry=Hadoop:service=NameNode,NAME=NameNodeStatus,它的工作原理适合我,请随意回答下面的问题
CLUSTER_LOGIN="$CLUSTER_USER:$CLUSTER_PASSWD"
CLUSTER_NAME=$(curl -s -u "$CLUSTER_LOGIN" -H "X-Requested-By: ambari" -X GET "${CLUSTER_URL}/api/v1/clusters" | jq -r .items[0].Clusters.cluster_name)

NAME_NODES=$(curl -s -u "$CLUSTER_LOGIN" -H "X-Requested-By: ambari" -X GET "${CLUSTER_URL}/api/v1/clusters/${CLUSTER_NAME}/services/HDFS/components/NAMENODE" | jq -r '.host_components[].href')

for nn in $NAME_NODES
do
   href_hastate=$(curl -s -u "$CLUSTER_LOGIN" -H "X-Requested-By: ambari" -X GET $nn | jq -r '.host.href +" "+ .metrics.dfs.FSNamesystem.HAState')
   host_href=$(echo $href_hastate | tr -s ' ' | cut -f1 -d ' ')
   hastate=$(echo $href_hastate | tr -s ' ' | cut -f2 -d ' ')
   host_ip_name=$(curl -s -u "$CLUSTER_LOGIN" -H "X-Requested-By: ambari" -X GET $host_href | jq -r '.Hosts | .ip + " " +.host_name')
   ip=$(echo $host_ip_name | tr -s ' ' | cut -f1 -d ' ')
   node_name=$(echo $host_ip_name | tr -s ' ' | cut -f2 -d ' ')
   echo $node_name $ip $hastate
done
hn0-ha004.o0gzzt3sfaaeri0tmljgqkvvdc.cx.internal.chinacloudapp.cn 10.236.111.17 active
hn1-ha004.o0gzzt3sfaaeri0tmljgqkvvdc.cx.internal.chinacloudapp.cn 10.236.111.18 standby