系统版本:Ubuntu 16.04.5 LTS
软件版本:apache-zookeeper-3.5.8
硬件要求:无
1、安装依赖
Zookeeper需要JDK的支持。
注:需要先去JDK官网下载安装包。
root@ubuntu:~# mkdir /usr/local/jdk # 创建程序安装目录
root@ubuntu:~# tar -xvzf jdk-8u211-linux-x64.tar.gz -C /usr/local/jdk/ # 解压安装包
root@ubuntu:~# vim /etc/profile # 配置环境变量
# jdk
export JAVA_HOME="/usr/local/jdk/jdk1.8.0_211/"
export PATH="$JAVA_HOME/bin:$PATH"
root@ubuntu:~# source /etc/profile # 使系统环境变量立即生效
root@ubuntu:~# java -version # 查看java版本以验证jdk安装成功
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
2、从官网下载源码包
官网下载地址:http://mirror.bit.edu.cn/apache/zookeeper/stable/。
注:下载地址可能会由于版本变动而失效,需要去官网获取有效的下载链接;请下载"xxx-bin.tar.gz"的二进制包。
root@ubuntu:~# wget http://mirror.bit.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.8-bin.tar.gz
3、解压源码包
root@ubuntu:~# mkdir /usr/local/zookeeper
root@ubuntu:~# tar xzvf apache-zookeeper-3.5.8-bin.tar.gz -C /usr/local/zookeeper/
4、拷贝配置文件
root@ubuntu:~# mkdir /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/data
root@ubuntu:~# cp -rf /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/conf/zoo_sample.cfg /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/conf/zoo.cfg
root@ubuntu:~# cat /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/conf/zoo.cfg |grep -Ev '^#|^$'
tickTime=2000
# 心跳超时时间,单位为毫秒。客户端与服务端,服务端与服务端之间的通信超时时间。
initLimit=10
# 集群初始化时,follower服务器和leader服务器之间超时连接次数(tickTime超时多次)。
syncLimit=5
# 集群同步数据时,follower服务器和leader服务器之间超时连接次数(tickTime超时多次)。
dataDir=/usr/local/zookeeper/apache-zookeeper-3.5.8-bin/data
# Zk持久化数据存储目录,不建议存放到"/tmp"下,因为在集群构建成功后会将服务器的唯一ID(myid)信息持久化到该目录下。
clientPort=2181
# 服务端监听端口,客户端应要连接到的服务端的监听端口。
standaloneEnabled=true
# 以独立的方式启动Zk。
5、开启四字指令功能
Zookeeper支持一些特定的四字指令与其交互,管理员可以通过使用连接"nc/telnet"并输入四字指令获取服务器的状态信息。
root@ubuntu:~# vim /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkServer.sh
start)
# 省略...
nohup "$JAVA" $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.4lw.commands.whitelist=*"
"-Dzookeeper.log.file=${ZOO_LOG_FILE}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}"
-XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError='kill -9 %p'
-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
6、创建快捷命令
root@ubuntu:~# vim /etc/profile.d/alias_zk.sh
alias zkserver='/usr/local/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkServer.sh'
alias zkclient='/usr/local/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkCli.sh'
root@ubuntu:~# source /etc/profile
7、启动服务
root@ubuntu:~# zkserver start # 启动服务
Using config: /usr/local/zookeeper/apache-zookeeper-3.5.8-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
root@ubuntu:~# netstat -lnupt |grep 2181 # 查看监听端口以验证服务是启动的
tcp6 0 0 :::2181 :::* LISTEN 12712/java
8、验证安装成功
使用客户端连接到服务端,以验证Zk是安装成功的!
root@ubuntu:~# zkclient -server 127.0.0.1:2181 ls /
Connecting to 127.0.0.1:2181
省略...
[zookeeper]