Trouver le numéro de port HDFS est à l'écoute

Je veux accéder à hdfs avec des noms pleinement qualifiés tels que :

hadoop fs -ls hdfs://machine-name:8020/user

Je pourrais aussi simplement l'accès hdfs avec

hadoop fs -ls /user

Cependant, je suis en train d'écrire des cas de test qui doit travailler sur les différentes distributions(HDP, Cloudera, MapR, etc...) ce qui implique l'accès hdfs les fichiers avec les noms qualifiés.

Je comprends que hdfs://machine-name:8020 est défini dans core-site.xml comme fs.default.name. Mais ce qui semble être différents sur les différentes distributions. Par exemple, hdfs est maprfs sur MapR. IBM BigInsights n'ont même pas de core-site.xml dans $HADOOP_HOME/conf.

Il ne semble pas une façon hadoop me dit ce qui est défini dans fs.default.name avec ses options de ligne de commande.

Comment puis-je obtenir la valeur définie dans fs.default.name de façon fiable à partir de la ligne de commande?

Le test sera toujours en cours d'exécution sur namenode, de sorte que le nom de la machine est facile. Mais pour obtenir le numéro de port(8020) est un peu difficile. J'ai essayé de lsof, netstat.. mais ne pouvait toujours pas trouver une méthode fiable.

InformationsquelleAutor ernesto | 2014-10-06