一 集群规划
1 搭建虚拟机环境
:系统 centos6.5
Ip 192.168.131.141-145
名称 deer1-deer5
修改网卡配置之后,全部连接到shell
统一配置DNS
网络均已畅通
主机详细规划:
deer1/192.168.131.141 | deer2/192.168.131.142 | deer3/192.168.131.143 | deer4/192.168.131.144 | deer5/192.168.131.145 | |
Namenode | 是 | 是 | 否 | 否 | 否 |
DataNode | 否 | 否 | 是 | 是 | 是 |
Resourcemanager | 是 | 是 | 否 | 否 | 否 |
Journalnode | 是 | 是 | 是 | 是 | 是 |
Zookeeper | 是 | 是 | 是 | 是 | 是 |
软件规划:
软件 | 版本 | 位数 | 说明 |
jdk | jdk1.7 | 64位 | 最新稳定版本 |
centos | centos6.5 | 64位 | |
zookeeper | Apache zookeeper3.4.6 | 稳定版本 | |
hadoop | Apache hadoop2.6.0 | 稳定版本 |
用户规划:
创建每个节点的用户和用户组,名字均为hadoop(注意设置密码,否则配置SSH会出问题 )
时钟同步
Hosts文件检查
禁用防火墙
配置SSH
先安装SSH
配置ssh
分发公钥
互联成功
二JDK安装配置
JDK安装及环境变量配置:(学习到下面脚本才知道不用一个一个手动安装55555555)
脚本工具的使用:遇到问题
百度查到以下资料
按照说明解决之后(用:set ff=unix 的办法)
脚本运行成功
JDK环境正常
三zookeeper安装配置
安装zookeeper
配置zoo.cfg
用脚本将zookeeper拷贝到其他节点
创建数据目录
创建myid在每个节点上
配置环境变量
启动zookeeper
启动是start 关闭是stop
启动所有节点zookeeper
四hadoop安装配置
上传hadoop2.6.0并解压
配置hadoop-env.sh
配置core-site.xml
配置hdfs-site.xml文件
按照说明配置,直接粘贴
配置slave
向其他远程节点分发hadoop安装包
deploy.sh hadoop /home/hadoop/app/ slave
配置环境变量
每个节点都做配置
Zookeeper已经启动
远程启动journalnode
格式化namenode
格式化成功
格式化高可用
格式化高可用时报错
第二天重新开机,启动集群之后,啥也没改,格式化高可用就好使了。。。。!@#¥%……
启动所有节点上面的Zookeeper进程
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh start" zookeeper
启动所有节点上面的journalnode进程
runRemoteCmd.sh "/home/hadoop/app/hadoop/sbin/hadoop-daemon.sh start journalnode" all
重新格式化主节点,高可用
bin/hdfs namenode -format
bin/hdfs zkfc -formatZK
bin/hdfs namenode
启动namenode时,不用理会,直接找第二个主节点
bin/hdfs namenode -bootstrapStandby
按下ctrl+c来结束第一个主节点namenode进程。 然后关闭所有节点上面的journalnode进程
runRemoteCmd.sh "/home/hadoop/app/hadoop/sbin/hadoop-daemon.sh stop journalnode" all
一键启动hdfs所有相关进程
sbin/start-dfs.sh
配置yarn
配置mapred-site.xml yarn-site.xml并分发到其他节点
运行wordcount
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /test/demo.txt /test/out/
至此,5节点集群搭建完毕