Zookeeper集群安装
1 集群规划
构建高可用的大数据集群需要使用zookeeper实现hdfs和hbase的自动切换。所以第一步首先是安装zookeeper,我采用了数据与安装程序分离的策略。zookeeper进程是轻量化进程,安装在datanode中
Hadoop-slave1 | 192.168.2.102 | Zookeeper |
Hadoop-slave2 | 192.168.2.103 | Zookeeper |
Hadoop-slave3 | 192.168.2.104 | Zookeeper |
目录结构
/home/hadoop/
|--zookeeper
|--zookeeper-3.4.9
|--data
|--log
2 部署步骤
将zookeeper-3.4.9.tar.gz 上传到hadoop-slave1的/home/hadoop/zookeeper目录下解压。然后创建如1中所说的目录结构。
2.1 修改环境变量
vim ~/.bash_profile
source .bash_profile
2.2 修改配置文件
cd ~/zookeeper/zookeeper-3.4.9
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
2.3 创建myid
cd ~/zookeeper/data/
echo “1” >> data/myid
2.4 修改zkEnv.sh
cd ~/zookeeper/zookeeper-3.4.9/bin
vim zkEnv.sh
修改:
if [ "x${ZOO_LOG_DIR}" ="x" ]
then
ZOO_LOG_DIR="$ZOOKEEPER_HOME/logs"
fi
if [ "x${ZOO_LOG4J_PROP}" ="x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
2.5 修改log4j.properties
cd ~/zookeeper/zookeeper-3.4.9/conf
vim log4j.properties
zookeeper.root.logger=INFO,ROLLINGFILE
2.6 创建logs目录
mkdir –p ~/zookeeper/zookeeper-3.4.9/logs
2.7 将zookeeper目录传递其他主机
scp –r ~/zookeeper hadoop-slave2:~/
scp –r ~/zookeeper hadoop-slave3:~/
2.8 修改其他主机myid
在hadoop-slave2
echo “2” > ~/zookeeper/data/myid
在hadoop-slave3
echo “3” > ~/zookeeper/data/myid
2.9 常用用
zkServer.sh start
zkServer.sh stop
zkServer.sh status
3 集群同步时钟
3.1 同步时区
查看时期
date –R
上海为+0800 东八区
修改设置时区
tzselect
复制相应的时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/lcoaltime
3.2 同步时间
3.2.1 安装
在hadoop-master1
sudo yum install ntp
3.2.2 配置
vim /etc/ntp.conf
在后面加上
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
3.2.3 命令
启动
sudo systemctl start ntpd
关闭:sudo systemctl stop ntpd
开机启动:sudo systemctl enable ntpd
3.3 其他机器同步
•等待大概五分钟,再到其他机上同步该机器时间(先确保时区一样,否则同步以后时间也是有时区差的)
ntpdate IP地址(主机的)
Date查看时间是否同步完成。
3.4 可定时同步
yum install crontabs
crontab -e 编辑内容: * */12 * * */usr/sbin/ntpdate 172.72.103.228(每12个小时更新一次,也可特定时间更新一次,格式可网上查找)
保存退出即可,可以到/var/spool/mail/下查看记录