目录
前言
1、解压安装Zookeeper到/e3base/zookeeper目录下
2 、创建$E3_INFO_HOME/zookeeper目录
3 、创建数据目录和日志目录
4、配置环境变量
4.1添加zookeeper相关的环境变量
5、修改zookeeper脚本
5.1修改zookeeper应用的jdk环境路径
6、修改zookeeper的配置文件
7、创建myid文件
7.1创建
7.2 检测
Windows
1、下载
2、解压完即可
3、修改配置文件
3.1修改zoo.cfg文件
4、创建辅助数据和日志目录
5、复制集群其它节点
6、运行
windows一键运行脚本
1、测试
2、代码
3、效果
前言
e3base为用户名,e3base目录作为集群组件安装目录,e3-info是创建的存放组件数据和日志的文件夹。具体集群部署前提。
1、解压安装Zookeeper到/e3base/zookeeper目录下
tar -zxvf zookeeper-3.4.5-cdh5.14.0-e3base3.0.0.tar.gz -C /e3base/zookeeper
记得将
移到/e3base目录下并改名为zookeeper
提前部署已经写好$E3_INFO_HOME的配置变量
$E3_INFO_HOME = /e3base/e3-info
2 、创建$E3_INFO_HOME/zookeeper目录
3 、创建数据目录和日志目录
数据目录为$E3_INFO_HOME/zookeeper/data,日志目录为$E3_INFO_HOME/zookeeper/logs。这些目录可在配置文件中根据实际情况进行修改。
4、配置环境变量
4.1添加zookeeper相关的环境变量
vi .bash_profileexport IN_HOME=/e3baseexport ZOO_HOME=$IN_HOME/zookeeperexport PATH=$ZOO_HOME/bin:$PATH使其生效:source .bash_profile
5、修改zookeeper脚本
5.1修改zookeeper应用的jdk环境路径
vi/e3base/zookeeper/conf/zookeeper-env.sh
填写正确路径
export JAVA_HOME=/usr/jdk/jdk1.8.0_91export ZOO_LOG_DIR=/e3base/e3-info/zookeeper/log
6、修改zookeeper的配置文件
vi/e3base/zookeeper/conf/zoo.cfg
dataDir=/e3base/e3-info/zookeeper/data//zookeeper操作的数据目录
clientPort=11001 //zookeeper客户端连接的端口
server.1=e3base03:11002:11003 // server.id=host:port1:port2; id为第几号主机,host服务器名称/ip;port1\2分别为zookeeper服务器通信端口和选举端口
server.2=e3base04:11002:11003
server.3=e3base05:11002:11003
maxClientCnxns=20500 //最大链接客户端数量
7、创建myid文件
7.1创建
在/e3base/e3-info/zookeeper/data下创建myid文件,文件中写入该主机在zoo.cfg配置信息server.id=host:port1:port2项中对应的数字id。
touch/e3base/e3-info/zookeeper/data/myid //注意为Touch文件
在e3base03上执行:echo 1> $E3_INFO_HOME/zookeeper/data/myid
在e3base04上执行: echo 2> $E3_INFO_HOME/zookeeper/data/myid
在e3base05上执行: echo 3> $E3_INFO_HOME/zookeeper/data/myid
7.2 检测
cat $E3_INFO_HOME/zookeeper/data/myid
Windows
1、下载
zookeeper下载地址
2、解压完即可
3、修改配置文件
3.1修改zoo.cfg文件
# The number of milliseconds of each tick心跳间隔 毫秒每次
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting anacknowledgement
syncLimit=5
# the directory where the snapshot isstored.//镜像数据位置
dataDir=D:\\xxxxxx\\zookeeper\\data1
#日志位置
dataLogDir=D:\\xxxxxx\\zookeeper\\logs1
# the port at which the clients willconnect客户端连接的端口
clientPort=2181
server.1=localhost:28888:38888
server.2=localhost:28889:38889
server.3=localhost:28890:38890
4、创建辅助数据和日志目录
5、复制集群其它节点
修改对应节点的编号,客户端连接的端口保持全量。
6、运行
zkServer.cmd
windows一键运行脚本
每次windows手动启动zk都要一个个点,比较麻烦,写个脚本一键运行。本质上脚本只是步骤的封装。
1、测试
bat文件直接运行cmd命令:
d:
Cd 目录
这个流程要有用来进路bin目录运行zk环境;
PS:
直接运行命令跑起来和start的区别:直接zkServer.cmd会等待执行完成后才跑下一个命令,而start则不会。
2、代码
.txt后缀改为.bat即可。
脚本完整语句。d:cd XXX\zookeeper\zookeeper-3.4.14-1\bin\start zkServer.cmdcd/cd XXX\zookeeper\zookeeper-3.4.14-2\bin\start zkServer.cmdcd/cd XXX\zookeeper\zookeeper-3.4.14-3\bin\start zkServer.cmd
3、效果
一个客户端启动三次
同样的创建数据目录data1、data2、data3在其对应下面放入myid文件,创建三个zoo.cfg、zoo_2.cfg、zoo_3.cfg。启动命令的时候带上参数:
可用命令:satrt status restart stop
./zkServer.sh start ../conf/zoo.cfg./zkServer.sh start ../conf/zoo_2.cfg./zkServer.sh start ../conf/zoo_3.cfg./zkServer.sh status ../conf/zoo.cfg./zkServer.sh status ../conf/zoo_2.cfg./zkServer.sh status ../conf/zoo_3.cfg
定时清理
如果不设置定时清理日志数据,zk会积压导致磁盘空间不足,现象比如有:mysql无报错查询不反结果卡死->boot应用亦是如此。
netstat -lntp|grep 2181
pwdx pid
在zoo.cfg里面打开注释(3.4.0以后版本):
## The number of snapshots to retain in dataDirautopurge.snapRetainCount=60# Purge task interval in hours# Set to "0" to disable auto purge featureautopurge.purgeInterval=48
autopurge.purgeInterval 参数设置清理频率,单位小时,默认是0,表示不开启。autopurge.snapRetainCount 参数和清理频率搭配使用,这个参数指定需要保留的文件数目。默认是保留3个。
😘如果看懂了点个赞,给点小动力,谢谢啦~