集群分发脚本
- 放在
~/bin/
下,注意需要配置可执行权限 - for循环中配置节点主机名
1 | !/bin/bash |
集群配置
- 集群部署规划
- 这里注意NameNode、SecondaryNameNode、ResourceManager应分别放在不同服务器上
hadoop11 | hadoop12 | hadoop13 | |
---|---|---|---|
HDFS | NameNode DataNode |
DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager |
NodeManager JobHistoryServer |
集群配置:(注意这里添改的配置信息均继承自hadoop快速入门指南一文)
core-site.xml 将hdfs配置在hadoop11(NameNode节点)上
1
2
3
4<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop11:9000</value>
</property>hdfs-site.xml 指定hadoop辅助节点(SecondaryNameNode节点)
1
2
3
4<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop13:50090</value>
</property>yarn-site.xml 指定YARN 的ResourceManager 的地址
1
2
3
4<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop12</value>
</property>works 配置工作节点
1
2
3hadoop11
hadoop12
hadoop13文末给出本教程打包配置文件
配置SSH免密:
- ssh文件夹下(~/.ssh)的文件功能解释
known_hosts | 记录ssh访问过计算机的公钥(public key) |
---|---|
id_rsa | 生成的私钥 |
id_rsa.pub | 生成的公钥 |
authorized_keys | 存放授权过得无密登录服务器公钥 |
生成并发送密钥
先把所有主机~/.ssh/
下的文件都删掉,因为单节点当时配置过,当时只是为了能跑
1 | [hadoop@hadoop11 hadoop]$ ssh-keygen -t rsa |
集群启动
第一次启动(不是第一次集群启动就跳过):
一定先停止所有的Namenode和Datanode服务(JPS查看,小心运行在root用户上)
如果有,删除所有集群上data与log下的文件
格式化NameNode
hdfs namenode -format
HDFS启动:hadoop11下执行
start-dfs.sh
Yarn启动:hadoop12下执行
start-yarn.sh
JobHistoryServer:hadoop13下执行
mapred --daemon start historyserver
至此,启动完毕,这里给出启动完成后各主机JPS进程情况
hadoop11 | hadoop12 | hadoop13 | |
---|---|---|---|
JPS | 3684 Jps 3141 DataNode 3019 NameNode 3452 NodeManager |
2900 ResourceManager 2727 DataNode 3031 NodeManager 3448 Jps |
2305 NodeManager 2100 DataNode 2184 SecondaryNameNode 2906 JobHistoryServer 3340 Jps |
集群可用性检查
http://hadoop11:9870/
跳转至NameNode管理页http://hadoop12:8088/cluster
跳转至ResourceManager管理页http://hadoop13:19888/
跳转至JobHistory管理页$ hdfs dfs -put 本地路径 hdfs路径
上传一些测试文件,建议一大(>128MB)一小- 在9870下查看文件储存情况,查看下Block分块情况
- 还可以跑下wordcount~
关闭集群
关闭 jobHistoryServer:hadoop13下
mapred --daemon stop historyserver
关闭yarn:hadoop12下
stop-yarn.sh
关闭hdfs:hadoop11下
1stop-dfs.sh
配置文件
这里给出一台虚拟机,从刚克隆到集群中配置过的各个文件
AllConfig.7z 如果有遗漏或是下载不了,可以下方留言给,第一时间就会更新~