hadoop集群搭建
这里的集群只是一个单点登录的集群,没有做到正真的HA高可用,只是一个namenode节点多个datanode节点
基本思路:
- 先在一个节点上配置好hadoop集群
- 将配置好的hadoop复制给其他的节点机
- 配置ssh免密码登录(这里是为了第四步)
- namenode启动整个集群(通过ssh启动其他datanode节点)
我这里准备用三个节点机作演示,使用hadoop-2.9.0版本
- 10.100.101.127(namenode节点,resourceManager节点)
- 10.100.102.127(datanode节点,nodeManager节点)
- 10.100.103.127(datanode节点,nodeManager节点)
搭建前环境准备
hadoop是java语言写的,运行hadoop依赖jvm,需要先安装jdk,配置环境变量JAVA_HOME
,三个节点上环境和安装目录需一致
[root@localhost hadoop]# echo $JAVA_HOME/data/software/jdk1.8.0_121
开始搭建
第一步
,将安装包上传到10.100.101.127机器上,解压
# 使用secureCRT客户端工具上传rz -byetar -zxvf hadoop-2.9.0.tar.gz
第二步
修改配置文件(6个),配置文件在$HADOOP_HOME/etc/hadoop/文件夹下
hadoop-env.sh
export JAVA_HOME=/data/software/jdk1.8.0_121
core-site.xml
`````` fs.defaultFS hdfs://172.18.113.120:9000
hdfs-site.xml
`````` dfs.replication 3 dfs.namenode.datanode.registration.ip-hostname-check false
yarn-site.xml
`````` yarn.resourcemanager.hostname 10.100.101.127 yarn.nodemanager.aux-services mapreduce_shuffle
mapred-site.xml
```# 这个配置文件默认没有,但是有个模板可以参考[root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml````````` mapreduce.framework.name yarn
slaves
这里配置的是datanode节点,一个节点占一行,hadoop将这个文件改成了`workers````10.100.101.12710.100.102.12710.100.103.127```
第三步
配置ssh免登录
通过namenode自动启动datanote,所以要配置namenode通过ssh连接datanode不需要密码,如果namenode节点同时担任一个datanode节点,那么也要配置namenode在ssh自己的时候也要免密码登录
# 一路回车ssh-keygenssh-copy-id 10.100.102.127ssh-copy-id 10.100.103.127ssh-copy-id 10.100.101.127
第四步
复制文件给其他节点,启动集群
# 把配置好的hadoop给其他两个节点各复制一份,注意jdk环境要一致scp -r hadoop-2.9.0 10.100.102.127:///home/scp -r hadoop-2.9.0 10.100.103.127:///home/# 首次启动需要先在 Master 节点执行 NameNode 的格式化,之后的启动不需要再去进行:bin/hdfs namenode -format# 启动dfs Default HTTP port is 50070sbin/start-dfs.sh# 启动yarn Default HTTP port is 8088sbin/start-yarn.sh# 启动jobhistory Default HTTP port is 19888.sbin/mr-jobhistory-daemon.sh start historyserve# 通过命令 hdfs dfsadmin -report 查看 DataNode 是否正常启动bin/hdfs dfsadmin -report...Live datanodes (3):...
查看进程
# namenode上的进程数10.100.101.127# jps24496 DataNode25107 NodeManager24358 NameNode24998 ResourceManager25494 JobHistoryServer24679 SecondaryNameNode25591 Jps22442 Bootstrap# datanode上的进程数10.100.102.127/10.100.103.127# jps24657 Jps24338 DataNode24518 NodeManager23342 Bootstrap
关闭集群同样也是在Master节点上执行
$stop-yarn.sh$stop-dfs.sh$mr-jobhistory-daemon.sh stop historyserver
参考文献: