Zookeeper 基础实战篇 - 集群安装(CentOS 7)
2018-03-23 本文已影响105人
datazhen
zookeeper
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
官网:http://zookeeper.apache.org/
安装须知
- 操作系统:CentOS-7-x86_64
- JDK 版本:1.8.0_121
- Zookeeper 版本:zookeeper-3.4.10.tar.gz
备注:操作系统、虚拟机安装可参见笔者之前的文章
https://www.jianshu.com/p/55a14018a56d (大数据集群基础安装篇 - CentOS 7 安装、克隆、虚拟化
实现目标
服务器节点(虚拟机)服务器节点(虚拟机)
Zookeeper集群效果Zookeeper集群效果
IDE Zookeeper 插件IDE Zookeeper 插件展示
好了,开始集群安装之旅吧
安装准备工作 - 创建目录
安装目录:/opt , 将安装文件上传至该目录
数据目录:/data/zookeeper/data
日志目录:/data/zookeeper/log
#mkdir /data/zookeeper/data -p
#mkdir /data/zookeeper/log -p
安装准备工作 - 创建用户、分组
#groupadd zookeeper
#useradd -g zookeeper zookeeper
#passwd zookeeper
#zookeeper账号密码
开始安装
解压、重命名
#cd /opt
#tar -zxvf zookeeper-3.4.10.tar.gz
#mv zookeeper-3.4.10 zookeeper
#rm -rf zookeeper-3.4.10.tar.gz
环境变量设置
#vi /etc/profile
#
#Zookeeper
#
ZOOKEEPER_HOME=/opt/zookeeper
export ZOOKEEPER_HOME
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
#source /etc/profile
目录授权
#chown -R zookeeper:zookeeper /data/zookeeper
#chown -R zookeeper:zookeeper /opt/zookeeper
防火墙开放端口通信端口、消息端口,即2181、2182、2183
#firewall-cmd --permanent --zone=public --add-port=2181/tcp
#firewall-cmd --permanent --zone=public --add-port=2182/tcp
#firewall-cmd --permanent --zone=public --add-port=2183/tcp
#firewall-cmd --reload
配置Zookeeper(重点)
#su zookeeper
$cd /opt/zookeeper/conf
$cp zoo_sample.cfg zoo.cfg
$vi zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataLogDir=/data/zookeeper/log
dataDir=/data/zookeeper/data
clientPort=2181
server.1=192.168.91.128:2182:2183
server.2=192.168.91.129:2182:2183
server.3=192.168.91.130:2182:2183
$192.168.91.128
$echo "1" >> /data/zookeeper/data/myid
$192.168.91.128
$echo "2" >> /data/zookeeper/data/myid
$192.168.91.128
$echo "3" >> /data/zookeeper/data/myid
$vi log4j.properties
zookeeper.root.logger=INFO, ROLLINGFILE
zookeeper.log.dir=/data/zookeeper/log
zookeeper.tracelog.dir=/data/zookeeper/log
log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
$vi ../bin/zkEnv.sh
ZOO_LOG_DIR="/data/zookeeper/log"
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
启动集群
$zkServer.sh start
$jps
3909 Jps
3871 QuorumPeerMain
开机自动启动
#vi /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper service
After=network.target
[Service]
User=zookeeper
Group=zookeeper
SyslogIdentifier=zookeeper
ExecStart=/opt/jdk/bin/java \
-Dzookeeper.log.dir=/data/zookeeper/log/zookeeper.log \
-Dzookeeper.root.logger=INFO,ROLLINGFILE \
-cp /opt/zookeeper/zookeeper-3.4.10.jar:/opt/zookeeper/lib/* \
-Dlog4j.configuration=file:/opt/zookeeper/conf/log4j.properties \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.local.only=false \
org.apache.zookeeper.server.quorum.QuorumPeerMain \
/opt/zookeeper/conf/zoo.cfg
[Install]
WantedBy=multi-user.target
#systemctl daemon-reload
#systemctl start zookeeper.service 启动zookeeper
#systemctl stop zookeeper.service 停止zookeeper
END
喜欢我们的小伙伴可以扫描屏幕下方的微信(左侧)、微博(右侧)二维码,欢迎多挑毛病、多多关注。
QQ群:559547981