Hadoop:连接到ResourceManager失败
安装hadoop 2.2并尝试启动pipes示例后,我遇到了以下错误(在尝试启动hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount someFile.txt/out后也会出现相同的错误): My-site.xml:Hadoop:连接到ResourceManager失败,hadoop,yarn,Hadoop,Yarn,安装hadoop 2.2并尝试启动pipes示例后,我遇到了以下错误(在尝试启动hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount someFile.txt/out后也会出现相同的错误): My-site.xml: <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- Site specific YARN configuration properties -->
</configuration>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/mydata/hdfs/datanode</value>
</property>
</configuration>
连接Resource manager时出现问题是因为我需要向Thread-site.xml添加一些属性:
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
.resourcemanager.address
127.0.0.1:8032
warn.resourcemanager.scheduler.address
127.0.0.1:8030
warn.resourcemanager.resource-tracker.address
127.0.0.1:8031
然而,我的工作还没有开始,但现在连接已经成功了确保你已经开始了。使用此命令启动它: start-warn.sh 然后使用此命令验证资源管理器是否正在运行: 太平绅士 输出应如下所示: 17542名称节点 17920第二名称节点 22064日元 17703数据节点 18226资源经理 18363节点管理器
在
/etc/hosts
中使用以下设置,将您的主机名添加到您的主机名
:
127.0.0.1 localhost
127.0.0.1 your_host_name
正确的方法可能是在warn site.xml中添加以下行:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>
warn.resourcemanager.hostname
127.0.0.1
因为值字段host表示一个主机名,可以设置该主机名来代替设置所有warn.resourcemanager*地址资源。结果是ResourceManager组件的默认端口
- 参数:warn.resourcemanager.hostname
- 值:ResourceManager主机
- 注意:可以设置主机的单个主机名,以代替设置所有Thread.resourcemanager*地址资源。结果是ResourceManager组件的默认端口
在conf中,您可以设置warn.resourcemanager.address我也遇到了同样的问题。我解决了 由于连接到
资源管理器时出现问题,因此,请确保纱线是否正在运行。纱线被分成不同的实体。其中一个是ResourceManager
,它负责将资源分配给集群中运行的各种应用程序
执行以下步骤
使用命令启动纱线:Start-warn.sh
使用命令:jps检查资源管理器节点
将以下代码添加到配置中
.resourcemanager.address
127.0.0.1:8032
此问题可能是由于缺少HADOOP_CONF_DIR,MapReduce应用程序需要该目录才能连接到Thread-site.xml中提到的资源管理器。因此,在运行MapReduce作业之前,请尝试使用适当的HADOOP CONF目录手动设置/导出HADOOP CONF DIR,如export HADOOP CONF DIR=/etc/HADOOP/CONF。这种方法对我很有效:)我通过在warn site.xml中将值更改为127.0.0.1:
解决了同样的问题
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
纱线.节点管理器.辅助服务
mapreduce_shuffle
.resourcemanager.address
127.0.0.1:8032
warn.resourcemanager.scheduler.address
127.0.0.1:8030
warn.resourcemanager.resource-tracker.address
127.0.0.1:8031
在我的例子中,我的xml配置文件有一个输入错误。您可以在$HADOOP_HOME/logs/rdmaHB resourcemanager-(yourhostname).log检查日志,可能有一个有用的堆栈跟踪。发生此错误是因为资源管理器无法启动。如果您执行了其他人声明的更改配置文件的操作,但仍然出现错误,请参考它
注意:-已验证Windows 10、Hadoop 3.1.3
因此,如果您是Windows用户,请转到hadoop-3.1.3/sbin/。
执行stop-all.cmd
然后启动-all.cmd
许多终端现在已经打开,它们是nodemanager、datanode、namenode和ResourceManager。
有关资源管理器终端中的错误消息,请参阅。这个错误应该是你的问题
如果错误消息如下:-
java.lang.NoClassDefFoundError:org/apache/hadoop/thread/server/timelineservice/collector/TimelineCollectorManager
复制以下文件
来自~/hadoop-3.1.3/share/hadoop/warn/timelineservice
文件:hadoop-warn-server-timelineservice-3.1.3.jar
到~/hadoop-3.1.3/share/hadoop/share
这应该可以解决您的问题。这通常发生在主机IP设置不正确时。我必须从我的/etc/hosts中删除本地主机映射,并将FQDN名称添加到Thread-site.xml文件中。我运行了resourceManager,但仍然出现错误将属性添加到Thread-site.xml
您的java版本是什么?请注意,到目前为止,hadoop的所有版本都不支持Java版本>8。
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>
Configuration conf = HBaseConfiguration.create();
conf.set("yarn.resourcemanager.address", "127.0.0.1:8032");
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>