概述
本博客基于zookeeper-3.4.9搭建集群环境。非root用户(bigdata),五台机器(cdh01~cdh05)
机器
主机名 | 系统 | ip |
cdh01 | Linux | 192.168.8.21 |
cdh02 | Linux | 192.168.8.22 |
cdh03 | Linux | 192.168.8.23 |
cdh04 | Linux | 192.168.8.24 |
cdh05 | Linux | 192.168.8.25 |
前提条件
jdk环境已安装。
安装
1、下载zookeeper安装包
下载地址:http://zookeeper.apache.org/releases.html
下载版本:zookeeper-3.4.9.tar.gz
2、解压
tar -zxvf zookeeper-3.4.9.tar.gz
3、指定位置
mv /bigdata/source/zookeeper-3.4.9 /bigdata/zookeeper
4、修改环境变量
本系列修改环境变量值修改当前用户的环境变量非root权限。
vim ~/.bash_profile
#zookeeper
export ZK_HOME=/bigdata/zookeeper
export PATH=$PATH:$ZK_HOME/bin
5、使配置文件生效
source ~/.bash_profile
6、分发配置文件到每台主机上面
#拷贝环境变量到各个主机
scp -r ~/.bash_profile bigdata@cdh01:~/
scp -r ~/.bash_profile bigdata@cdh02:~/
scp -r ~/.bash_profile bigdata@cdh03:~/
scp -r ~/.bash_profile bigdata@cdh04:~/
scp -r ~/.bash_profile bigdata@cdh05:~/
8、zookeeper的配置文件修改
#找到zk安装目录conf目录
$>cd /bigdata/zookeeper/conf/
#拷贝配置模板
$>cp zoo_sample.cfg zoo.cfg
vim /bidata/zookeeper/conf/zoo.cfg
#修改数据存储位置
dataDir=/home/bigdata/zookeeper
#配置server.x,这里的x是一个数字,与myid文件中的id是一致的
server.1=cdh01:2888:3888
server.2=cdh02:2888:3888
server.3=cdh03:2888:3888
server.4=cdh04:2888:3888
server.5=cdh05:2888:3888
此处配置zookeepeer的日志删除策略,解决zookeeper日志文件过大
首先修改bin/zkEnv.sh,配置ZOO_LOG_DIR的环境变量,ZOO_LOG_DIR是zookeeper日志输出目录,ZOO_LOG4J_PROP是log4j日志输出的配置:
vim bin/zkEnv.sh
将
ZOO_LOG_DIR="."
修改为:
ZOO_LOG_DIR="${ZOOKEEPER_PREFIX}/logs"
将
ZOO_LOG4J_PROP="INFO,CONSOLE"
修改为:
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
修改ZOO_DAEMON_OUT日志输出名称
vim bin/zkServer.sh
将
ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out"
修改为:
_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.log"
修改log4j.properties文件
vim conf/log4j.properties
## 修改为INFO, ROLLINGFILE,这里要和zkEnv.sh修改的地方一致;
zookeeper.root.logger=INFO,ROLLINGFILE
## 设置日志文件的最大值,超过将轮转
log4j.appender.ROLLINGFILE.MaxFileSize=5MB
## 设置日志文件的最大数量
log4j.appender.ROLLINGFILE.MaxBackupIndex=1
配置每台主机的myid
在每台主机的/home/bigdata/zookeeper中添加myid,内容分别是1,2,3,4,5
[cdh01]
$>echo 1 > /home/bigdata/zookeeper/myid
[cdh02]
$>echo 2 > /home/bigdata/zookeeper/myid
[cdh03]
$>echo 3 > /home/bigdata/zookeeper/myid
[cdh04]
$>echo 4 > /home/bigdata/zookeeper/myid
[cdh05]
$>echo 5 > /home/bigdata/zookeeper/myid
9、分配文件
xsync.sh /bigdata/zookeeper
10、启动
启动的时候必须一台一台启动 否则报错
#启动
zkServer.sh start
#停止
zkServer.sh stop
#查看状态 确认是否选举了leader\follower
zkServer.sh status
11、查看进程 jps
12、连接客户端
zkCli.sh -server cdh01:2181