ZooKeeper单节点搭建
目录
Zookeeper运行需要java环境,需要安装jdk。
0.1 安装 JDK
apt install openjdk-8-jdk0.2 下载 Zookeeper
wget https://www.apache.org/dist/zookeeper/zookeeper-3.8.6/zookeeper-3.8.6.tar.gz
tar -zxf zookeeper-3.8.6.tar.gz
mv zookeeper-3.8.6 /opt/zookeeper0.3 创建系统用户和组
我们创建一个名为 zookeeper 的系统用户,这种用户默认不允许直接登录,安全性更高。
# 创建用户组
groupadd zookeeper
# 创建用户并加入组,禁止其 shell 登录
useradd -r -g zookeeper -m -s /sbin/nologin zookeeper0.4 统一授权
现在你需要确保 安装目录 和 数据目录 都能被这个新用户访问。
# 授权安装目录
chown -R zookeeper:zookeeper /opt/zookeeper
# 授权数据目录
mkdir -p /data/zookeeper/{data,datalog}
chown -R zookeeper:zookeeper /data/zookeeper0.5 配置
进入zookeeper的conf目录下,拷贝zoo_sample.cfg文件命名为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 an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/datalog
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
maxClientCnxns=100
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
autopurge.snapRetainCount=5
# Purge task interval in hours
# Set to "0" to disable auto purge feature
autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpHost=0.0.0.0
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
admin.enableServer=false0.6 创建 Service 管理
vi /usr/lib/systemd/system/zookeeper.service[Unit]
Description=Zookeeper Service
After=network.target
[Service]
Type=forking
User=zookeeper
Group=zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target0.7 启动服务
systemctl start zookeeper