ls”

8fsztsew  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(642)

我正在运行以下命令:

hadoop fs -ls

我知道这个命令实际上对应于如下内容:

hadoop fs -ls hdfs://<namenode>:<namenode_port>

如何确定这些值 namenode 以及 namenode_port ?
我已经试过检查环境变量并查看文档,但是我找不到任何可以做到这一点的方法。

vq8itlhq

vq8itlhq1#

您需要参考hadoop配置文件 core-site.xml 为了 <namenode> 以及 <namenode_port> 价值观。搜索配置属性 fs.defaultFS (最新)或 fs.default.name (去润滑)。
core-site.xml文件可以位于 /etc/hadoop/conf 或者 $HADOOP_HOME/etc/hadoop/conf 位置。
编辑
有一种动态的方法可以做到这一点。下面的hadoop命令将给出hdfs uri。 hdfs getconf -confKey "fs.defaultFS" 但是,每次执行hadoop命令时,hadoop都会加载客户端配置xml文件。如果您想对此进行测试,可以通过将/etc/hadoop/conf的内容复制到新目录(比如/home//hadoop-conf,它应该包含core-site.xml、hdfs-site.xml、mapred site.xml)在其他一些目录中创建一个单独的客户机配置,并使用命令重写环境变量 export HADOOP_CONF_DIR=/home/<USER>/hadoop-conf ,更新core-site.xml文件,然后使用hadoop命令进行测试。请记住,这只是出于测试目的,请取消设置环境变量( unset HADOOP_CONF_DIR )一旦你完成测试。

相关问题