- 一、集群规划
- 二、三、节点Hadoop HA搭建
- 四、启动与初始化hadoop集群
- 五、注意
共3个节点,主机名分别是master、slave1、slave2
| 机器名 || 运行进程 |
|master || NameNode/zkfc/ResourceManager/Zookeeper/Journalnode/DataNode/NodeManager|
| slave1 || NameNode/zkfc/ResourceManager/Zookeeper/Journalnode/DataNode/NodeManager|
|slave2 || Zookeeper/Journalnode/DataNode/NodeManager|
准备3台虚拟机,在做三节点hadoop2.7 HA安装之前,要求完成每台虚拟机的环境准备。
1. 虚拟机环境准备
windows|mac安装VMWare虚拟化软件
VMWare下安装CenoOS7
虚拟机关闭防火墙
禁用selinux
配置虚拟网卡
配置虚拟机网络
安装JDK
配置时间同步
修改主机名
修改ip地址
修改/etc/hosts
各节点免密钥登陆
重启虚拟机
2. 安装zookeeper集群
在master、slave1、slave2上安装zookeeper集群
3. 三节点Hadoop HA搭建
3.1 解压hadoop压缩包
在master上解压hadoop压缩包到用户主目录(~表示用户主目录/usr/local/)
#压缩包在/usr/local/中
[root@master local]# pwd
/usr/local/
[root@master local]# ls
hadoop2.7
注意:JAVA_HOME值修改为自己jdk的实际目录
3.2 修改core-site.xml
注意:
情况一:值/home/bruce/hadoop2.7/tmp根据实际情况修改
情况二:值master:2181,slave1:2181,slave2:2181根据实际情况修改,修改成安装了zookeeper的虚拟机
的主机名
fs.defaultFS hdfs://ns1 hadoop.tmp.dir /usr/data/hadoop2.7/tmp ha.zookeeper.quorum master:2181,slave1:2181,slave2:2181
3.3 修改hdfs-site.xml
注意:
情况一:属性值qjournal://master:8485;slave1:8485;slave2:8485/ns1中的主机名,修改成实际安装
zookeeper的虚拟机的主机名
情况二:属性值/usr/data/hadoop2.7/journal中”/usr/data/hadoop2.7”替换成实际hadoop文件
夹的路径
情况三:属性值/root/.ssh/id_rsa中/root根据实际情况替换
dfs.nameservices ns1 dfs.ha.namenodes.ns1 nn1,nn2 dfs.namenode.rpc-address.ns1.nn1 master:9000 dfs.namenode.http-address.ns1.nn1 master:50070 dfs.namenode.rpc-address.ns1.nn2 slave1:9000 dfs.namenode.http-address.ns1.nn2 slave1:50070 dfs.namenode.shared.edits.dir qjournal://master:8485;slave1:8485;slave2:8485/ns1 dfs.journalnode.edits.dir /usr/data/hadoop2.7/journal dfs.ha.automatic-failover.enabled true dfs.client.failover.proxy.provider.ns1 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.fencing.methods shell(/bin/true) dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa dfs.ha.fencing.ssh.connect-timeout 30000
3.4 修改yarn-site.xml
注意:
情况一:属性yarn.resourcemanager.hostname.rm1的值master根据实际情况替换
情况二:属性yarn.resourcemanager.hostname.rm2的值slave1根据实际情况替换
情况三:属性值master:2181,slave1:2181,slave2:2181根据实际情况替换;替换成实际安装zookeeper的
虚拟机的主机名
yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id yrc yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.hostname.rm1 master yarn.resourcemanager.hostname.rm2 slave1 yarn.resourcemanager.zk-address master:2181,slave1:2181,slave2:2181 yarn.nodemanager.aux-services mapreduce_shuffle
3.5 远程拷贝hadoop文件夹
说明:~表示用户主目录
scp ‐r ~/hadoop2.7/ slave1:~ scp ‐r ~/hadoop2.7/ slave2:~四、启动与初始化hadoop集群
注意:严格按照下面的步骤 先检查各台hadoop环境变量是否设置好
4.1 启动zookeeper集群
注意:根据zookeeper实际安装情况,启动zookeeper
分别在master、slave1、slave2上启动zookeeper
zkServer.sh start
查看状态:一个为leader,另外两个为follower
zkServer.sh status
4.2 启动journalnode
分别在master、slave1、slave2上执行
hadoop‐daemon.sh start journalnode
运行jps命令检验,master、slave1、slave2上多
了JournalNode进程
4.3 格式化HDFS
#根据集群规划master、slave1上运行namenode;所以只在主namenode节点即master上执行命令:
hdfs namenode ‐format
4.4 拷贝hadoop.tmp.dir
格式化后会根据core-site.xml中的hadoop.tmp.dir属性值/usr/data/hadoop-2.7.3/tmp,并生成此文件夹
将/usr/data/hadoop2.7/tmp拷贝到slave1的/usr/data/hadoop2.7中
scp ‐r /usr/data/hadoop‐2.7.3/tmp/ slave1:/usr/data/hadoop2.7/
4.5 格式化ZK
在master上执行即可
hdfs zkfc ‐formatZK
4.6 启动HDFS
只在主namenode节点master上执行
start‐dfs.sh
4.7 启动YARN
4.7.1 主resourcemanager
注意:只在主resourcemanager即master上执行start-yarn.sh
start‐yarn.sh
4.7.2 从resourcemanager
在从resourcemanager即slave1上启动rm
yarn‐daemon.sh start resourcemanager
4.7.3 jps进程如下
注意:格式化报错要去首先去查看日志文件,如果日志文件没有报错,多去检查几遍配置文件是否多了空,横线、逗号是否是中文的。检查的时候不要在虚拟机里查看很难看得出来,要将配置文件导出推荐使用nodepade++打开查看!!!



