当前位置:  开发笔记 > 运维 > 正文

YarnApplicationState:ACCEPTED:等待分配,启动和注册AM容器

如何解决《YarnApplicationState:ACCEPTED:等待分配,启动和注册AM容器》经验,为你挑选了1个好方法。



1> Ashesh Kumar..:

我终于解决了这个问题.发布详细步骤以供将来参考.(仅适用于测试环境)

Hadoop(2.7.1)多节点集群配置

    确保您拥有一个没有主机隔离的可靠网络.静态IP分配是优选的,或者至少具有非常长的DHCP租用.此外,所有节点(Namenode/master和Datanodes/slave)都应该有一个具有相同密码的公共用户帐户; 如果不这样做,请在所有节点上创建此类用户帐户.在所有节点上使用相同的用户名和密码会使事情变得不那么复杂.

    [在所有机器上]首先为单节点群集配置所有节点.您可以使用我在此处发布的脚本.

    在新终端中执行这些命令

    [在所有机器上]

    stop-dfs.sh;stop-yarn.sh;jps
    rm -rf /tmp/hadoop-$USER
    

    [仅限Namenode/master]

    rm -rf ~/hadoop_store/hdfs/datanode
    

    [仅限Datanodes/slaves]

    rm -rf ~/hadoop_store/hdfs/namenode
    

    [在所有计算机上]为群集中的所有节点添加IP地址和相应的主机名.

    sudo nano /etc/hosts
    

    主机

    xxx.xxx.xxx.xxx master
    xxx.xxx.xxx.xxy slave1
    xxx.xxx.xxx.xxz slave2
    # Additionally you may need to remove lines like "xxx.xxx.xxx.xxx localhost", "xxx.xxx.xxx.xxy localhost", "xxx.xxx.xxx.xxz localhost" etc if they exist.
    # However it's okay keep lines like "127.0.0.1 localhost" and others.
    

    [在所有机器上]配置iptables

    允许您计划通过防火墙用于各种Hadoop守护程序的默认或自定义端口

    要么

    更容易,禁用iptables

    在RedHat上喜欢发行版(Fedora,CentOS)

    sudo systemctl disable firewalld
    sudo systemctl stop firewalld
    

    像Debian这样的Debian(Ubuntu)

    sudo ufw disable
    

    [on Namenode/master]获取从Namenode(主站)到所有Datnode(从站)的ssh访问.

    ssh-copy-id -i ~/.ssh/id_rsa.pub $USER@slave1
    ssh-copy-id -i ~/.ssh/id_rsa.pub $USER@slave2
    

    通过运行确认的事情ping slave1,ssh slave1,ping slave2,ssh slave2等你应该有一个适当的反应.(请记住通过键入exit或关闭终端退出每个ssh会话.为了更安全,我还确保所有节点都能够相互访问,而不仅仅是Namenode/master.)

    [在所有机器上]编辑core-site.xml文件

    nano /usr/local/hadoop/etc/hadoop/core-site.xml
    

    核心的site.xml

    
        
            fs.defaultFS
            master:9000
            NameNode URI
        
    
    

    [在所有机器上]编辑yarn-site.xml文件

    nano /usr/local/hadoop/etc/hadoop/yarn-site.xml
    

    纱的site.xml

    
        
            yarn.resourcemanager.hostname
            master
            The hostname of the RM.
        
        
             yarn.nodemanager.aux-services
             mapreduce_shuffle
        
        
             yarn.nodemanager.aux-services.mapreduce.shuffle.class
             org.apache.hadoop.mapred.ShuffleHandler
        
    
    

    [在所有机器上]修改从属文件,删除文本"localhost"并添加从属主机名

    nano /usr/local/hadoop/etc/hadoop/slaves
    

    奴隶

    slave1
    slave2
    

    (我想只在Namenode/master上使用它也可以工作,但无论如何我在所有机器上都这样做.还要注意,在这个配置中,master只表现为资源管理器,这就是我的意图.)

    [在所有机器上]修改hdfs-site.xml文件,将属性值更改为dfs.replication> 1(至少为集群中的从属数量;此处我有两个从属设备,因此我将其设置为2)

    [仅限Namenode/master](重新)通过namenode格式化HDFS

    hdfs namenode -format
    

    [可选的]

    dfs.datanode.data.dir从master的hdfs-site.xml文件中删除属性.

    dfs.namenode.name.dir从所有slave的hdfs-site.xml文件中删除属性.

测试(仅在Namenode/master上执行)

start-dfs.sh;start-yarn.sh

echo "hello world hello Hello" > ~/Downloads/test.txt

hadoop fs -mkdir /input

hadoop fs -put ~/Downloads/test.txt /input

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output

等待几秒钟,映射器和减速器应该开始.


这些链接帮助我解决了这个问题:

/sf/ask/17360801/

Hadoop YARN安装:权威指南#Cluster Installation

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有