Hadoop:数据节点进程正在运行但无法工作?

3
我们最近一直在尝试安装Hadoop集群。有时成功了,但大多数情况下失败了。我按照官方文档和一些看起来高质量的博客进行配置。
我遇到的问题是: 所有过程(包括namenode、datanode、nodemanager和resourcemanager)都可以通过命令jps看到。
但实际上从节点并没有工作。我无法在Web界面master:8088或master:50070中看到它们。
有人说这是由于重复的namenode格式和ID冲突引起的。我认为这不是我的问题,因为从一开始datanodes就无法工作,而且datanode文件夹始终为空。
还有其他可能导致这种现象的原因吗? 我真的很苦恼地设置这个集群。
详细信息: Hadoop版本:3.0.0-alpha2 hdfs dfsadmin -report的输出为:
Configured Capacity: 492017770496 (458.23 GB)
Present Capacity: 461047037952 (429.38 GB)
DFS Remaining: 460770820096 (429.13 GB)
DFS Used: 276217856 (263.42 MB)
DFS Used%: 0.06%
Under replicated blocks: 10069
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0

-------------------------------------------------
Live datanodes (1):

Name: 127.0.0.1:9866 (localhost)
Hostname: sr145.local.lan
Decommission Status : Normal
Configured Capacity: 492017770496 (458.23 GB)
DFS Used: 276217856 (263.42 MB)
Non DFS Used: 5954019328 (5.55 GB)
DFS Remaining: 460770820096 (429.13 GB)
DFS Used%: 0.06%
DFS Remaining%: 93.65%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Sun Jan 02 02:52:57 CST 2000

唯一一个活跃的数据节点是主节点的同一节点。所有其他从节点都不是活动的。

配置详情: 1,hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>sr145:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/hadoop/hdfs/namenode</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/hadoop/hdfs/datanode</value>
    </property>
</configuration>

2,core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/hadoop/tmp</value>
        <description>Abasefor other temporary directories.</description>
    </property>

</configuration>

3,yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.manager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>sr145</value>
        </property>
        <property>
           <name>yarn.resourcemanager.address</name>
           <value>sr145:8032</value>
        </property>
        <property>
           <name>yarn.resourcemanager.scheduler.address</name>
           <value>sr145:8030</value>
        </property>
        <property>
           <name>yarn.resourcemanager.resource-tracker.address</name>
           <value>sr145:8035</value>
        </property>
        <property>
           <name>yarn.resourcemanager.admin.address</name>
           <value>sr145:8033</value>
        </property>
        <property>
           <name>yarn.resourcemanager.webapp.address</name>
           <value>sr145:8088</value>
        </property>
</configuration>

所有节点的配置几乎相同,只在hdfs-site.xml的namenode或datanode配置中有所不同。 $HADOOP_HOME/etc/hadoop中的workersslaves文件也需要编辑。与原始状态相比,没有移动任何文件。


你可以通过 jps 命令查看 datanode 进程,但无法从 Web UI 查看?请在问题中发布 hdfs dfsadmin -report 命令的输出以及配置文件。 - franklinsijo
感谢您的关注。我已经将这个问题的详细信息粘贴在下面,请查看... - AnyangWang
当您在其中一台主机上启动DataNode服务时,在datanode日志中会看到什么内容(默认位置= /var/log/hadoop-hdfs)? - Paul Back
fs.defaultFS 的值必须是多节点集群设置的有效主机名或 IP 地址。它不应该是 localhost - franklinsijo
1
是的,这是我的主节点配置,我的数据节点是hdfs://sr145:9000。 "sr145"是我的主节点,在/etc/hosts中设置为10.0.0.45 sr145 10.0.0.46 sr146 10.0.0.47 sr147 10.0.0.48 sr148 10.0.0.49 sr149 - AnyangWang
显示剩余2条评论
1个回答

2

唯一的存活数据节点是主节点相同的节点。

只有那个数据节点知道namenode绑定到了localhost,所有其他数据节点都试图连接sr145

fs.defaultFS中设置的主机值是Namenode守护进程将要启动的位置。
在主节点中将其设置为localhost会使进程绑定到节点的环回IP。编辑该值以具有实际的主机名或IP地址,在这种情况下,它将是

<property>
   <name>fs.defaultFS</name>
   <value>hdfs://sr145:9000</value>
</property>

这个属性在所有节点中必须是相同的。


你说得对。但这似乎不是我的问题?我上面粘贴的配置是为我的主节点而设的。我的从节点设置是 hdfs://sr145:9000,就像你说的那样。 - AnyangWang
你所粘贴的配置中将localhost设置为了defaultFS。这是错误的。请将其更改为答案中的设置。 - franklinsijo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接