Hadoop学习笔记-006-CentOS_6.5_64_HA高可用-安装Zookeeper3.4.5
参考:http://blog.csdn.net/u010270403/article/details/51444677
虚拟机中共五个centos系统,每个系统有两个用户root和hadoop:cdh1,cdh2,cdh3,cdh4,cdh5
集群规划
第一步,切换到hadoop的家目录下,把已经下载好的zookeeper放到/home/hadoop/app目录下并解压(以cdh3为例)
# tar zxvf zookeeper-3.4.5-cdh5.4.5.tar.gz
第二步,删除zookeeper的压缩文件
# rm -rf zookeeper-3.4.5-cdh5.4.5.tar.gz
第三步,配置环境变量
# vi /home/hadoop/.bash_profile
添加:
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.5-cdh5.4.5 export PATH=$PATH:$ZOOKEEPER_HOME/bin
第四步,使环境变量文件即时生效
# source /home/hadoop/.bash_profile
第五步,修改Zookeeper中的配置文件
在zookeeper/conf目录下,复制zoo_sample.cfg
#cp zoo_sample.cfg zoo.cfg
修改zoo.cfg文件的配置
#vi zoo.cfg
注释掉dataDir=/tmp/zookeeper
添加以下内容:
#数据文件目录与日志目录
dataDir=/home/hadoop/data/zookeeper/zkdata
dataLogDir=/home/hadoop/data/zookeeper/zkdatalog
#server.服务编号=主机名称:Zookeeper不同节点之间同步和通信的端口:选举端口(选举leader)
server.1=cdh3:2888:3888 server.2=cdh4:2888:3888 server.3=cdh5:2888:3888
第六步,在cdh1上把~/tools目录拷贝到cdh3
#scp –r ~/tools/ hadoop@cdh3:~/
在cdh3查看是否拷贝成功
第七步,在cdh3上通过命令deploy.sh将Zookeeper安装目录拷贝到cdh4、cdh5
查看cdh4的~/app目录
在cdh3的~/tools目录下执行deploy.sh批处理命令
# ./deploy.sh ~/app/zookeeper-3.4.5-cdh5.4.5 ~/app/ zookeeper
验证cdh4的~/app目录
第八步,在cdh3上通过远程命令runRemoteCmd.sh在所有的zookeeper节点(cdh3、cdh4、cdh5)上面创建数据目录和日志目录
数据目录:
#./runRemoteCmd.sh "mkdir -p ~/data/zookeeper/zkdata" zookeeper
日志目录:
#./runRemoteCmd.sh "mkdir -p ~/data/zookeeper/zkdatalog" zookeeper
在cdh3的~/tools目录下执行以上批处理命令
在cdh3和cdh4上验证是否创建成功
第九步,分别在cdh3、cdh4、cdh5上的~/data/zookeeper/zkdata目录下,创建文件myid,里面的内容分别填充为:1、2、3,以cdh3为例
#vi myid
创建myid
添加id编号
第十步,将cdh3下的环境变量配置文件复制到其他节点上
# ./deploy.sh ~/.bash_profile ~/ zookeeper
查看cdh4的.bash_profile文件
在cdh3的~/tools目录下执行# ./deploy.sh ~/.bash_profile ~/ zookeeper
在cdh4查看.bash_profile配置文件
#cat ~/.bash_profile
第十一步,分别在每台机器上执行source ~/.bash_profile使环境变量生效(批处理文件不能使之生效,要一个一个节点执行), 以cdh4为例
第十二步,在cdh3的~/tools目录下用runRemoteCmd.sh 脚本,启动所有节点(cdh3、cdh4、cdh5)上面的Zookeeper
#./runRemoteCmd.sh "~/app/zookeeper-3.4.5-cdh5.4.5/bin/zkServer.sh start" zookeeper
第十三步,在cdh3的~/tools目录下用runRemoteCmd.sh查看所有节点(cdh3、cdh4、cdh5)是否启动QuorumPeerMain进程
#./runRemoteCmd.sh "jps" zookeeper
第十四步,在cdh3的~/tools目录下用runRemoteCmd.sh查看所有节点(cdh3、cdh4、cdh5)状态
#./runRemoteCmd.sh "~/app/zookeeper-3.4.5-cdh5.4.5/bin/zkServer.sh status" zookeeper
如果一个节点为leader,另2个节点为follower,则说明Zookeeper安装成功。
完成!