hadoop2.2.0无法访问web http://< ip>:8088

dwthyt8l  于 2021-06-03  发布在  Hadoop
关注(0)|答案(4)|浏览(784)

当键入start-dfs.sh时,我用两个节点hadoop01(master-10.0.0.151)和hadoop02(slaves-10.0.0.152)设置了一个hadoop集群,然后访问网站my_ip(上面只有10.0.0.151):50070。这是成功的。
但当我键入start-yarn.sh,然后访问我的网站ip:8088。它失败了。
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>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>hadoop01:8032</value>
</property>        
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hadoop01:8030</value>
</property>

<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hadoop01:8031</value>
</property>

<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hadoop01:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hadoop01:8088</value>
</property>

core-site.xml:

<configuration>
<property>
     <name>fs.defaultFS</name>
     <value>hdfs://hadoop01:8020</value>
 </property>
 </configuration>

与hadoop02(从属)相同的设置
我的hadoop01 hadoop-2.2.0/etc/hadoop/slaves集

hadoop01
hadoop02

键入start-dfs.sh和start-yarn.sh之后,我键入jps

hadoop01:
21594 NameNode
22345 NodeManager
22007 SecondaryNameNode
22171 ResourceManager
23147 Jps
21762 DataNode
hadoop02:
29861 NodeManager
30358 Jps
29665 DataNode

hadoop01中的my/etc/hosts:

localhost       hadoop01
10.0.0.151      hadoop01
10.0.0.152      hadoop02

hadoop02中的my/etc/hosts:

localhost       hadoop02
10.0.0.151      hadoop01
10.0.0.152      hadoop02

下面的链接是我上传到googledirve的yarn-nodemanager.loghttps://drive.google.com/file/d/0b7ncj_xjwsrqn1bzvtvyoegxd1e/edit?usp=sharing 但是如果我没有遗漏一些信息,yarn-nodemanager.log不会出现错误。。
请帮助我改善为什么我不能访问网站的问题 http://10.0.0.151:8088**如果需要其他信息(如hdfs site.xml…等),请告诉我。我会更新。。

netstat -tunalp | grep LISTEN
tcp        0      0 0.0.0.0:50010           0.0.0.0:*               LISTEN      17442/java
tcp        0      0 0.0.0.0:50075           0.0.0.0:*               LISTEN      17442/java
tcp        0      0 0.0.0.0:50020           0.0.0.0:*               LISTEN      17442/java
tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      17693/java
tcp        0      0 10.0.0.151:8020         0.0.0.0:*               LISTEN      17267/java
tcp        0      0 0.0.0.0:50070           0.0.0.0:*               LISTEN      17267/java
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp6       0      0 :::13562                :::*                    LISTEN      21061/java
tcp6       0      0 10.0.0.151:8030         :::*                    LISTEN      20881/java
tcp6       0      0 10.0.0.151:8031         :::*                    LISTEN      20881/java
tcp6       0      0 10.0.0.151:8032         :::*                    LISTEN      20881/java
tcp6       0      0 10.0.0.151:8033         :::*                    LISTEN      20881/java
tcp6       0      0 :::33762                :::*                    LISTEN      21061/java
tcp6       0      0 :::8040                 :::*                    LISTEN      21061/java
tcp6       0      0 :::8042                 :::*                    LISTEN      21061/java
tcp6       0      0 :::22                   :::*                    LISTEN      -
tcp6       0      0 10.0.0.151:8088         :::*                    LISTEN      20881/java

禁用ipv6之后,我键入netstat-tunalp | grep listen

tcp        0      0 0.0.0.0:13562           0.0.0.0:*               LISTEN      30608/java
tcp        0      0 0.0.0.0:50010           0.0.0.0:*               LISTEN      29967/java
tcp        0      0 0.0.0.0:50075           0.0.0.0:*               LISTEN      29967/java
tcp        0      0 10.0.0.151:8030         0.0.0.0:*               LISTEN      30424/java
tcp        0      0 10.0.0.151:8031         0.0.0.0:*               LISTEN      30424/java
tcp        0      0 0.0.0.0:52992           0.0.0.0:*               LISTEN      30608/java
tcp        0      0 10.0.0.151:8032         0.0.0.0:*               LISTEN      30424/java
tcp        0      0 10.0.0.151:8033         0.0.0.0:*               LISTEN      30424/java
tcp        0      0 0.0.0.0:50020           0.0.0.0:*               LISTEN      29967/java
tcp        0      0 0.0.0.0:8040            0.0.0.0:*               LISTEN      30608/java
tcp        0      0 0.0.0.0:8042            0.0.0.0:*               LISTEN      30608/java
tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      30222/java
tcp        0      0 10.0.0.151:8020         0.0.0.0:*               LISTEN      29790/java
tcp        0      0 0.0.0.0:50070           0.0.0.0:*               LISTEN      29790/java
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -  
tcp        0      0 10.0.0.151:8088         0.0.0.0:*               LISTEN      30424/java
tcp6       0      0 :::22                   :::*                    LISTEN      -
xdnvmnnf

xdnvmnnf1#

这里的问题是resource manager正在运行,但是resource manager占用的端口(80308031803280338088)使用tcp6而不是tcp(参见左侧部分)。您有两个选择,或者您可以在linux系统中禁用ipv6,然后重新启动服务。
或者
请尝试仅在主节点上修改yarn-site.xml,如下所示。不要修改从属节点中的yarn-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>
<configuration>

指定hostname会导致端口以tcp6开头,即使不指定这些端口,也会采用默认值。请看一下以下默认端口
http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
修改yarn-site.xml后,重新启动yarn服务

bf1o4zei

bf1o4zei2#

原因是您应该将10.0.0.151:8088更改为0.0.0.0:8088。方法是打开yarn-site.xml,添加:

<property> 
  <name>yarn.resourcemanager.webapp.address</name>
  <value>0.0.0.0:8088</value>
</property>
67up9zun

67up9zun3#

这与https://issues.apache.org/jira/browse/hadoop-605 ; hadoop配置脚本添加了 -Djava.net.preferIPv4Stack=true 强制ipv4绑定的标志,但配置脚本中缺少此标志。您可以通过在bin/yarn的末尾(exec之前)添加以下内容来解决此问题:
yarn\u opts=“$yarn\u opts-djava.net.preferipv4stack=true”

uyhoqukh

uyhoqukh4#

对我来说,hadoop中的这一点:将多个ip地址绑定到群集名称节点:
在hdfs-site.xml中,将dfs.namenode.rpc-bind-host的值设置为0.0.0.0,hadoop将侦听私有和公共网络接口,允许远程访问和datanode访问。
在防火墙设置中打开8088也起了作用。

相关问题