我们这些天一直在尝试安装hadoop集群。有时候会成功,但大部我根据官方文档和一些看似高质量的博客进行配置。
我遇到的问题是:
命令可以看到所有进程(包括namenode,datanode,nodemanager,resourcemanager):jps
但奴隶实际上并没有工作。我无法在web界面master中看到它们:8088或master:50070
有人说这是由重复的namenode格式和id冲突引起的。我认为这不是我的问题,因为数据节点从一开始就不起作用,而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
**唯一一个实时datanode与主节点的节点相同。**所有其他从属节点都不是活动的。
配置细节: 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,芯-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,纱-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 natenode或datanode配置中有所不同。
$ HADOOP_HOME / etc / hadoop中的workers
和slaves
文件也会被编辑。与原始状态相比,不会移动任何文件。
答案 0 :(得分:1)
唯一一个实时datanode与主节点的节点相同。
只有该datanode知道namenode绑定到localhost
,所有其他数据节点都试图与sr145
连接。
fs.defaultFS
中设置的主机值是Namenode守护程序的启动位置。
在主节点中将其设置为localhost
使进程绑定到节点的环回IP。
编辑该值以获得实际的主机名或IP地址,在这种情况下它将是
<property>
<name>fs.defaultFS</name>
<value>hdfs://sr145:9000</value>
</property>
此属性在所有节点中必须相同。