草庐IT

ubuntu - Hadoop Yarn 作业跟踪器未启动

coder 2024-01-10 原文

前言:

我有一个网络应用程序的问题,该应用程序是由一名已离职的员工开发的。由于几乎没有关于可用实现的文档,我不确定从哪里获得更多关于该问题的信息,因此提出了这个问题。

我试图找到与此问题 ( Hadoop pseudo distributed mode - Datanode and tasktracker not starting) 类似的问题的解决方案。但是,由于我对 hadoop 的经验很少,所以我无法确定我需要修复什么才能让应用程序正常工作。

场景:

应用程序分为两部分:

  1. 有一个运行应用程序的 Tomcat 服务器 处理用户输入并提供 map reduce 的结果 作业(localhost:8080/WebApp)。
  2. localhost:50070

    有一个主 Hadoop 节点

    2.1。还有一个作业跟踪器在 localhost:8088/cluster

  3. 运行

所有应用程序都在同一台 Ubuntu 机器上运行。

这使用前雇员部署的配置正确运行。我所拥有的所有关于如何启动不同服务器的文档。对于 Hadoop 集群,它是一个名为 up.sh 的脚本。

到目前为止我做了什么:

在下一步中,我想将应用程序迁移到具有静态 IP 地址的新网络。我使用 IT 部门的数据配置了一个连接,并更改了 Tomcat 服务器的 server.xml 文件,以便可以通过新的静态 IP 地址(172.16.254.1: 8080/网络应用程序)。这是工作

我采取的下一步是更改 /etc/hosts 文件的配置,其中旧 IP 地址被列为 hadoop 集群的主服务器。

所以我改变了这个:

127.0.0.1   localhost
192.0.2.42  master

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

对此:

127.0.0.1    localhost
172.16.254.1 master

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

结果:

有了这些更改,我可以使用 up.sh 脚本启动主 Hadoop 节点,并在 localhost:50070 访问它。但是,我无法访问位于 localhost:8088/cluster 的 Hadoop 作业跟踪器。

在 WebApp 中,我可以安排 map reduce 任务,但结果不正确。缺少应由 map reduce 集群计算的重要数据。

到目前为止,我发现的唯一错误指示是 hadoop-hduser-namenode.log 文件中的以下错误消息:

2015-07-28 13:57:23,713 ERROR org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error getting localhost name. Using 'localhost'...
java.net.UnknownHostException: ubuntu-machine: ubuntu-machine
    at java.net.InetAddress.getLocalHost(InetAddress.java:1461)
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.getHostname(MetricsSystemImpl.java:514)
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configureSystem(MetricsSystemImpl.java:453)
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:449)
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:180)
    at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:156)
    at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:54)
    at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:50)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1253)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1320)

由于调用堆栈没有提到员工开发的任何类,我认为问题出在 Hadoop/网络配置中。应用服务器的日志也没有列出任何错误。我不确定我遗漏了什么部分。

如果您需要有关配置文件内容的更多信息,请告诉我,我会为您提供信息。

最佳答案

问题出在主机名上。将 ubuntu-machine 映射添加到/etc/hosts 文件

127.0.0.1    localhost ubuntu-machine
172.16.254.1 master ubuntu-machine

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

然后还有一件事就是检查hadoop的版本。 Hadoop 最近发生了重大变化。所以有两个主要的hadoop版本可用hadoop 1.x和hadoop 2.x。变化发生在处理层。 在 hadoop 1.x 中,我们有 Jobtracker 和 Tasktracker 在 hadoop 2.x 中,我们有 Resource manager、Nodemanager 和 Application Master。 两个版本的安装步骤不同。 在命令行中键入 hadoop version 并验证您正在使用的 hadoop 版本。

如果是 1.x,那么作业跟踪器 Web UI 将在 url http://jobrackerhost:50030 中。

如果是 2.x,那么资源管理器 web UI 将在 url http://resourcemanagerhost:8088

对于启动现有服务,您不必太担心。首先修复主机名问题并尝试启动服务。如果集群中存储了一些重要数据,请不要格式化集群。如果您正在格式化集群,请同时清除数据节点目录。下面给出一次性启动所有hadoop服务的命令。

转到 HADOOP_HOME/bin

cd $HADOOP_HOME/bin
./start-all.sh

关于ubuntu - Hadoop Yarn 作业跟踪器未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31677233/

有关ubuntu - Hadoop Yarn 作业跟踪器未启动的更多相关文章

  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. ruby - 如何在 Ubuntu 中清除 Ruby Phusion Passenger 的缓存? - 2

    我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:

  3. 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

  4. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  5. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  6. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  7. ruby-on-rails - 在所有延迟的作业之前 Hook - 2

    是否可以在所有delayed_job任务之前运行一个方法?基本上,我们试图确保每个运行delayed_job的服务器都有我们代码的最新实例,所以我们想运行一个方法来在每个作业运行之前检查它。(我们已经有了“check”方法并在别处使用它。问题只是关于如何从delayed_job中调用它。) 最佳答案 现在有一种官方方法可以通过插件来做到这一点。这篇博文通过示例清楚地描述了如何执行此操作http://www.salsify.com/blog/delayed-jobs-callbacks-and-hooks-in-rails(本文中描述

  8. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  9. ruby - 在 Ubuntu 14.04 中使用 Curl 安装 RVM 时出错 - 2

    我试图在Ubuntu14.04中使用Curl安装RVM。我运行了以下命令:\curl-sSLhttps://get.rvm.io|bash-sstable出现如下错误:curl:(7)Failedtoconnecttoget.rvm.ioport80:Networkisunreachable非常感谢解决此问题的任何帮助。谢谢 最佳答案 在执行curl之前尝试这个:echoipv4>>~/.curlrc 关于ruby-在Ubuntu14.04中使用Curl安装RVM时出错,我们在Stack

  10. 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`

随机推荐