以三个节点的集群为例:
总括:
nodemanager ,datanode --> slaves
resourcemanager ----------> yarn
namenode ---------------> core-site
详细解析:
主机名称 备注 IP地址 功能
hadoop01 Master 192.168.211.134 NameNode、 DataNode、NodeManager、ResourceManager
hadoop02 Slave 192.168.211.129 SecondaryNameNode、DataNode、NodeManager、
hadoop03 Slave 192.168.211.140 DataNode、NodeManager
所有机子都需要配置
1.JDK 2.SSH免登陆 3.Hadoop集群
网关地址;192.168.211.1
一:
NameNode(core-site.xml,这里配哪一台,哪一台启动namenode),相应的在hdfs-site.xml中的dfs.http.address下对应的
value值也要写这一台并在之后加50070端口,如hadoop01:50070
<name>fs.defaultFS</name>
<!--配置hdfs系统的地址-->
<value>hdfs://hadoop01:8020</value>(在哪一台配,namenode就在哪一台启动)
二:
ResourceManager(yarn-site.xml,这里配哪一台,哪一台启动ResourceManager)两个相对应。
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
三:
DataNode、NodeManager决定于:
slaves文件。(默认localhost,删掉即可)
谁跑dataNode,slaves文件写谁。
当namenode跑的时候,会通过配置文件开始扫描slaves文件,slaves文件有谁,谁启动dataNode.
当启动yarn时,会通过扫描配置文件开始扫描slaves文件,slaves文件有谁,谁启动NodeManager
四:
SecondaryNameNode(hdfs-site.xml)在secondary这个地址下写谁,谁就是辅助的namenode。
<name>dfs.secondary.http.address</name>
<value>hadoop:50090</value>
五:启动过程
[hadoop@hadoop01 hadoop]start-dfs.sh 启动dfs,扫描core-site.xml文件启动namenode,
namenode启动完成之后扫描slaves文件,在sbin目录下
执行 ./hadoop-daemon.sh start datanode 启动datanode.(每一台机器都是这么操作的)
sbin目录:cd /home/hadooop/hadoop-2.6.1/sbin/
[hadoop@hadoop01 sbin]./yarn-daemon.sh start resourcemanager (resourcemanager利用yarn-daemon.sh脚本来启动,
扫描slaves文件,启动resourcemanager,启动完成之后,扫描slaves文件,在sbin目录下,执行 ./yarn-daemon.sh start nodemanager 启动NodeManager)
六:免密过程
发送密钥:取决于谁。密钥是用来在哪些主机之间进行传递的?
在配置hadoop分布式安装过程中,需要配置ssh的无密码登录。
在组建hadoop集群的时候,需要多台实体机进行通信(发送或者读取数据,
namenode和datanode之间)就是借助ssh,在通信过程中如果需要操作人员
频繁输入密码是不切实际的,所以需要ssh的无密码登录。
总结:哪台功能为nameNode就在哪台设置ssh免密登录。向其他datanode主机发送,
如果自己有,也要给自己发送。
ResourceManager和NodeManager的关系同理。
五个节点应用:http://www.cnblogs.com/pingzizhuanshu/p/8964025.html
联系客服