hadoop安装,启动二级namenode、nodemanagers和resource manager

Posted

技术标签:

【中文标题】hadoop安装,启动二级namenode、nodemanagers和resource manager【英文标题】:hadoop installation, to start secondary namenode, nodemanagers, and resource managers 【发布时间】:2021-02-20 07:47:24 【问题描述】:

我已经在 4 台 linux 机器上安装了 hadoop 3.1.0 集群,hadoop1(master)、hadoop2、hadoop3 和 hadoop4。

我运行了start-dfs.shstart-yarn.sh,只看到运行jps 的namenodes 和datanodes。辅助名称节点、节点管理器和资源管理器失败。我尝试了一些解决方案,这就是我得到的地方。如何配置和启动二级namenodes、nodemanagers和resroucemanagers?

关于二级namenodes日志说

java.net.BindException: Port in use: hadoop1:9000
...
Caused by: java.net.BindException: Address already in use
...

关于节点管理器和资源管理器的日志说

2021-02-21 03:29:03,463 WARN org.eclipse.jetty.webapp.WebAppContext: Failed startup of context o.e.j.w.WebAppContext@51d719bc/,file:///tmp/jetty-0.0.0.0-8042-node-_-any-8548809575065892553.dir/webapp/,UNAVAILABLE/node
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoClassDefFoundError: javax/activation/DataSource
  at org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver.<init>(JAXBContextResolver.java:52)
  at org.apache.hadoop.yarn.server.nodemanager.webapp.WebServer$NMWebApp.setup(WebServer.java:153)
  while locating org.apache.hadoop.yarn.server.nodemanager.webapp.JAXBContextResolver

我有 hdfs-site.xml

    <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>hadoop1:9000</value>
    </property>
    <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/app/hadoop/hadoop-3.1.0/name</value>
    </property>
    <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/app/hadoop/hadoop-3.1.0/data</value>
    </property>
    <property>
            <name>dfs.replication</name>
            <value>3</value>
    </property>
    <property>
            <name>dfs.webhdfs.enabled</name>
            <value>true</value>
    </property>

yarn-site.xml

    <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>
    <property>
            <name>yarn.resourcemanager.address</name>
            <value>hadoop1:8032</value>
    </property>
    <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>hadoop1:8030</value>
    </property>
    <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>hadoop1:8031</value>
    </property>
    <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>hadoop1:8033</value>
    </property>
    <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>hadoop1:8088</value>
    </property>
    <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>1024</value>
    </property>
    <property>
            <name>yarn.nodemanager.resource.cpu-vcores</name>
            <value>1</value>
    </property>

工人

hadoop1
hadoop2 
hadoop3   
hadoop4  

等/主机

192.168.0.111 hadoop1
192.168.0.112 hadoop2
192.168.0.113 hadoop3
192.168.0.114 hadoop4

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

【问题讨论】:

您检查日志是否有任何错误? 关于节点管理器和资源管理器。我在错误消息中看到“google”。这是否意味着服务器需要与谷歌服务联系?我在中国,谷歌在这里被屏蔽了 似乎问题出在你的类路径上。查看您粘贴的错误。你有合适的罐子吗? 我的类路径出现了,所以在启动名称节点时,数据节点...:classpath = /app/hadoop/hadoop-3.1.0/etc/hadoop:/app/hadoop/hadoop-3.1。 0/share/hadoop/common/lib/httpcore-4.4.4.jar:/app/hadoop/hadoop-3.1.0/share/hadoop/common/lib/jetty-util-9.3.19.v20170502....应该没问题,否则namenodes和datanodes不会启动 我的二级名称管理器现在运行。我也有 fs.defaultFS hadoop1:9000,造成冲突 【参考方案1】:

我安装了 jdk15.0.2,但它与 hadoop 3.1.0 存在某种问题。后来我安装了jdk8并更改了java_home。一切顺利!

关于辅助节点管理器,我为 fs.defaultFS 和 dfs.namenode.secondary.http-address 设置了 hadoop1:9000,因此产生了冲突。我把中学换成了9001,一切顺利!

【讨论】:

以上是关于hadoop安装,启动二级namenode、nodemanagers和resource manager的主要内容,如果未能解决你的问题,请参考以下文章

最近有安装了一次hadoop集群,NameNode启动失败,及原因

安装hadoop和配置hadoop,启动namenode和设置免密登录的详细解析!

无法使用namenode启动hadoop问题

云服务器启动hadoop,namenode没启动起来

云服务器启动hadoop,namenode没启动起来

Ubuntu下伪分布式安装Hadoop启动后jps无NameNode等输出解决办法