哪个配置文件客户端用于连接到hadoop集群

时间:2015-12-16 12:48:30

标签: hadoop

当边缘节点有多个hadoop发行版时,可能会有多个配置文件分散在各个目录中。

在这些情况下,如何知道客户端引用哪个配置文件,以便连接到群集。 (比如说,纱线)。一种选择是查看。 bashrc 文件,以确定是否设置了 HADOOP_HOME 变量。

还有其他选择可以找到它。 (显然,使用find命令搜索文件并不能解决问题。)

2 个答案:

答案 0 :(得分:1)

Hadoop提供classpath命令。阅读以下命令的说明:

classpath        prints the class path needed to get the
                 Hadoop jar and the required libraries

您可以执行以下命令:

hadoop classpath

yarn classpath

这两个命令都应该给你几乎相同的结果。 对于例如我得到了以下输出,hadoop classpath

e:\hdp\hadoop-2.7.1.2.3.0.0-2557\bin>hadoop classpath
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\etc\hadoop;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\common\lib\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\common\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\hdfs;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\hdfs\lib\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\hdfs\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\yarn\lib\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\yarn\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\mapreduce\lib\*;
e:\hdp\hadoop-2.7.1.2.3.0.0-2557\share\hadoop\mapreduce\*;
e:\hdp\tez-0.7.0.2.3.0.0-2557\conf\;
e:\hdp\tez-0.7.0.2.3.0.0-2557\*;
e:\hdp\tez-0.7.0.2.3.0.0-2557\lib\*;

所有这些路径都包含 HADOOP_HOME 作为父路径。就我而言,它是:“e:\ hdp \ hadoop-2.7.1.2.3.0.0-2557”。从这条路径中,您可以轻松地找出Hadoop的哪个分布,是您的客户所指的。

就我而言,我的客户端正在使用Hadoop配置和jar:“e:\ hdp \ hadoop-2.7.1.2.3.0.0-2557”目录。

答案 1 :(得分:0)

您可以运行env命令来获取会话的HADOOP_HOME。即使你覆盖HADOOP_HOME,env也会给出会话的当前值。