jjzjj

linux - YarnApplicationState : ACCEPTED: waiting for AM container to be allocated, 启动并注册

coder 2023-06-18 原文

我是 Hadoop 生态系统的新手。

我最近在单节点集群上尝试了 Hadoop (2.7.1),没有任何问题,并决定转向具有 1 个名称节点和 2 个数据节点的多节点集群。

但是我遇到了一个奇怪的问题。 无论我尝试运行什么作业,都卡在以下消息中:

在网络界面上:

YarnApplicationState: ACCEPTED: waiting for AM container to be allocated, launched and register

在命令行中:

16/01/05 17:52:53 INFO mapreduce.Job: Running job: job_1451083949804_0001

他们甚至没有开始,在这一点上我不确定我需要做哪些改变才能让它发挥作用。

这是我试图解决的问题:

  1. 在所有节点上禁用防火墙
  2. 设置较低的资源限制
  3. 在不同的机器、路由器和发行版下配置

如果能在正确的方向上提供任何帮助(即使是一分钟的提示),我将不胜感激。

我已遵循这些说明(配置):

最佳答案

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

Hadoop (2.7.1) 多节点集群配置

  1. 确保您拥有没有主机隔离的可靠网络。静态 IP 分配是可取的,或者至少有极长的 DHCP 租约。此外,所有节点(Namenode/master & Datanodes/slaves)都应该有一个具有相同密码的公共(public)用户帐户;如果您不这样做,请在所有节点上创建此类用户帐户。在所有节点上使用相同的用户名和密码会使事情变得不那么复杂。
  2. [在所有机器上] 首先为单节点集群配置所有节点。您可以使用我在 here 上发布的脚本.
  3. 在新终端中执行这些命令

    [在所有机器上]

    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
    
  4. [在所有机器上] 为集群中的所有节点添加 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.
    
  5. [在所有机器上] 配置 iptables

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

    更简单,禁用 iptables

    • 在 RedHat 上,例如发行版(Fedora、CentOS)

      sudo systemctl disable firewalld
      sudo systemctl stop firewalld
      
    • 在类似 Debian 的发行版 (Ubuntu) 上

      sudo ufw disable
      
  6. [仅在 Namenode/master 上] 获得从 Namenode(master)到所有 Datnodes(slave)的 ssh 访问。

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

    通过运行 ping slave1ssh slave1ping slave2ssh slave2 等来确认。你应该有适当的回应。 (请记住通过键入 exit 或关闭终端来退出每个 ssh session 。为了安全起见,我还确保所有节点都能够相互访问,而不仅仅是 Namenode/master .)

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

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

    核心站点.xml

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>master:9000</value>
            <description>NameNode URI</description>
        </property>
    </configuration>
    
  8. [在所有机器上] 编辑 yarn-site.xml 文件

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

    yarn-site.xml

    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
            <description>The hostname of the RM.</description>
        </property>
        <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>
    </configuration>
    
  9. [在所有机器上] 修改从属文件,删除文本“localhost”并添加从属主机名

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

    奴隶

    slave1
    slave2
    

    (我想只有在 Namenode/master 上也可以,但我还是在所有机器上都这样做了。另请注意,在此配置中,master 仅充当资源管理器,这就是我的意图。)

  10. [在所有机器上] 修改 hdfs-site.xml 文件以将属性 dfs.replication 的值更改为 > 1(至少为集群中的奴隶;这里我有两个奴隶,所以我将其设置为 2)
  11. [仅在 Namenode/master 上](重新)通过 namenode 格式化 HDFS

    hdfs namenode -format
    
  12. [可选]
    • 从 master 的 hdfs-site.xml 文件中删除 dfs.datanode.data.dir 属性。
    • 从所有从属的 hdfs-site.xml 文件中删除 dfs.namenode.name.dir 属性。

测试(仅在 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

等待几秒钟,mapper 和 reducer 应该开始。


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

关于linux - YarnApplicationState : ACCEPTED: waiting for AM container to be allocated, 启动并注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34617648/

有关linux - YarnApplicationState : ACCEPTED: waiting for AM container to be allocated, 启动并注册的更多相关文章

  1. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  2. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  3. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  4. ruby-on-rails - 设计注册确认 - 2

    我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:

  5. ruby - 使用 Capistrano 启动 sidekiq - 2

    我想用Capistrano启动sidekiq。下面是代码namespace:sidekiqdotask:startdorun"cd#{current_path}&&bundleexecsidekiq-c10-eproduction-Llog/sidekiq.log&"pcapture("psaux|grepsidekiq|awk'{print$2}'|sed-n1p").strip!endend它执行成功但sidekiq仍然没有在服务器上启动。输出:$capsidekiq:starttriggeringloadcallbacks*2014-06-0315:03:01executing`

  6. ruby-on-rails - 特征未注册 : attribute name - 2

    完成这个有困难。我正在使用seed.rb+factory_girl来使用rakedb:seed填充数据库。(我知道固定装置存在,但我想以这种方式完成,这只是一个示例,数据库将填充复杂的关联对象。)我的种子.rb:require'factory_girl_rails'["QM","CDC","SI","QS"].eachdo|n|FactoryGirl.create(:grau,nome:n)end还有我的/factories/graus.rbFactoryGirl.definedofactory:graudonomeendend但是当我运行时:rakedb:seed我得到:rakeab

  7. ruby-on-rails - fastercsv 的 Rails 3 服务器启动问题 - 2

    我有一个正在升级到Rails3的Rails2.3.5应用程序。我做了所有我需要做的升级以及当我使用启动Rails服务器时要做的事情railsserver它给了我这个PleaseswitchtoRuby1.9'sstandardCSVlibrary.It'sFasterCSVplussupportforRuby1.9'sm17nencodingengine.我正在使用ruby-1.9.2-p0并安装了fastercsv(1.5.3)gem。在puts语句的帮助下,我能够追踪到错误发生的位置。我发现执行在这一行停止了Bundler.require(:default,Rails.env)if

  8. 电脑启动后显示器黑屏怎么办?排查下面4个问题,快速解决 - 2

    电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑

  9. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  10. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

随机推荐