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
Hadoop:连接到ResourceManager失败_Hadoop_Yarn - Fatal编程技术网

Hadoop:连接到ResourceManager失败

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>

安装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>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>