Hadoop集群中的节点数

Posted

技术标签:

【中文标题】Hadoop集群中的节点数【英文标题】:Number of nodes in Hadoop cluster 【发布时间】:2017-02-26 17:14:26 【问题描述】:

我正在尝试设置 Hadoop 多节点集群。

当我在这里启动我的集群时,我在控制台中的响应..

hduser@hadoop-master:/usr/local/hadoop$ /usr/local/hadoop/sbin/start-dfs.sh
Starting namenodes on [hadoop-master]
hadoop-master: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-hadoop-master.out
hadoop-master: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-hadoop-master.out
hadoop-child: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-hadoop-child.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-hadoop-master.out
hduser@hadoop-master:/usr/local/hadoop$ jps
21079 NameNode
21258 DataNode
21479 SecondaryNameNode
21600 Jps
hduser@hadoop-master:/usr/local/hadoop$ /usr/local/hadoop/sbin/start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-hadoop-master.out
hadoop-child: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-hadoop-child.out
hadoop-master: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-hadoop-master.out
hduser@hadoop-master:/usr/local/hadoop$ jps
21079 NameNode
21258 DataNode
22117 Jps
21815 NodeManager
21479 SecondaryNameNode
21658 ResourceManager

你可以看到一个datanode在hadoop-child机器中启动。

现在,当我尝试获取所有节点信息时。我没有看到正在显示的所有节点。

hduser@hadoop-master:/usr/local/hadoop$ bin/hdfs dfsadmin -report
Configured Capacity: 21103243264 (19.65 GB)
Present Capacity: 17825124352 (16.60 GB)
DFS Remaining: 17821085696 (16.60 GB)
DFS Used: 4038656 (3.85 MB)
DFS Used%: 0.02%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

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

Name: 127.0.0.1:50010 (localhost)
Hostname: localhost
Decommission Status : Normal
Configured Capacity: 21103243264 (19.65 GB)
DFS Used: 4038656 (3.85 MB)
Non DFS Used: 3278118912 (3.05 GB)
DFS Remaining: 17821085696 (16.60 GB)
DFS Used%: 0.02%
DFS Remaining%: 84.45%
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 Feb 26 17:13:04 UTC 2017

我需要在这里查看master和child的信息。我有 1 个主节点和 1 个子节点。

************************修复*******

根据 Frank,这就是它的修复方式..

    编辑 /etc/config 文件并提供主 IP 地址和子 IP 地址。

更改了以下 2 行

127.0.0.1 localhost hadoop-master
961.118.98.183 hadoop-child

到(在两个节点中)

127.0.0.1 localhost 
961.118.99.251 hadoop-master
961.118.98.183 hadoop-child

2.按以下顺序重启集群..datanode应该重新格式化。

format will remove only the meta, the datanode's data directories will still be using the old namenode's identity which wil cause the datanode to fail(so delete the directories).

Can you please this order.. 
1) stop the cluster 
2) rm -rf /path/to/datanode/data/dir (in both nodes) 
3) hadoop namenode -format
4) START cluste

【问题讨论】:

您的一个数据节点没有运行! 当我在子节点中尝试 jps 命令时..它显示它的 running.hduser@hadoop-child:/home/ubuntu$ jps 3286 NodeManager 3134 DataNode 3429 Jps 两个节点中的属性 fs.defaultFS 在 core-site.xml 中设置的值是多少?目前报告的节点也有错误的主机名localhost 我没有为 fs.defaultFS 提供任何价值。我正在尝试关注michael-noll.com/tutorials/… 【参考方案1】:

设置多节点环境时,namenoderesourcemanager 地址必须明确定义。

将此属性添加到两个节点中的core-site.xml

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop-master:8020</value>
</property>

yarn-site.xml 中也是如此,

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>hadoop-master</value>
</property>

确保在所有节点的/etc/hosts 文件中,完成了IP 地址和主机名映射。

注意:如果服务正在运行,请停止它们并添加这些属性,然后再重新启动它们。

【讨论】:

谢谢..当我运行 dfsadmin 报告时仍然得到相同的报告...只报告了一个节点。此外,您之前提到的主机名仍然是 localhost 报告的datanode名称为localhost? 那是正确的..它与我上面显示的完全相同。 然后你重启了整个集群? 是的,没错。我运行了 stop-dfs.sh 和 stop-yarn.sh 命令并重新启动

以上是关于Hadoop集群中的节点数的主要内容,如果未能解决你的问题,请参考以下文章

浅谈大数据HDFS架构演变的来世今生

hadoop集群中的几个重要概念

hadoop_hive_zookeeper_kafka_spark平台搭建

zookeeper集群搭建

hadoop2.0中加入全新的集群资源管理器,下面哪个不是yarn中的组件

Hadoop_03_Hadoop分布式集群搭建