因只供自学,故后面的操作都是用root用户进行的
一、下载
官网下载地址: http://mirrors.hust.edu.cn/apache/zookeeper/ 选择最新的版本进行下载
这里选择3.4.13进行下载:
[root@oracle /]# cd /usr/local/src
[root@oracle src]# ll
[root@oracle src]$ wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz --no-check-certificate
二、解压
下载完成后执行以下命令进行解压:
[root@oracle src]# tar -zxvf zookeeper-3.4.13.tar.gz
将文件夹 /usr/local/src/zookeeper-3.4.13移到 /usr/local/zookeeper中
[root@oracle src]# mv /usr/local/src/zookeeper-3.4.13 /usr/local/zookeeper
[root@oracle src]# cd /usr/local/zookeeper
[root@oracle zookeeper]# ll
三、配置Zookeeper
解压之后,在zookeeper目录下创建以下目录:
[root@oracle zookeeper]# mkdir data
[root@oracle zookeeper]# mkdir logs
将zookeeper-3.4.13/conf目录下的zoo_sample.cfg文件拷贝一份,命名为zoo.cfg
[root@oracle zookeeper]# cd conf
[root@oracle conf]# ll
[root@oracle conf]# cp zoo_sample.cfg zoo.cfg
[root@oracle conf]# ll
然后修改zoo.cfg文件
[root@oracle conf]# vi 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=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
# 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=60
server.1=192.168.8.129:2888:3888
其中:
2888端口号是zookeeper服务之间通信的端口。
3888是zookeeper与其他应用程序通信的端口。
然后在dataDir=/usr/local/zookeeper/data下创建myid文件(编辑myid文件,并在对应的IP的机器上输入对应的编号。如在zookeeper上,myid 文件内容就是1。如果只在单点上进行安装配置,那么只有一个server.1)
[root@oracle conf]# cd /usr/local/zookeeper/data
[root@oracle data]# vi myid
四、配置环境变量
编辑 /etc/profile文件
[root@oracle data]# vi /etc/profile
使编辑生效
[root@oracle data]# source /etc/profile
五、测试Zookeeper
启动并测试zookeeper(因自学,故直接用root用户操作,生产上不允许直接用root用操作,要用普通用户启动):
[root@oracle /]# cd /usr/local/zookeeper/bin
#使用root用户到 /usr/local/zookeeper/bin目录中执行
./zkServer.sh start
#查看进程
jps
其中,QuorumPeerMain是zookeeper进程,启动正常。
#查看状态
./zkServer.sh status
#服务器输出信息
tail -500f zookeeper.out
#停止zookeeper进程
./zkServer.sh stop
六、开机自启动
# 切换到/etc/rc.d/init.d/目录下
cd /etc/rc.d/init.d
# 创建zookeeper文件
touch zookeeper
#更新权限
chmod +x zookeeper
#编辑文件,在zookeeper里面输入如下内容
[root@oracle init.d]# vi zookeeper
加入下列内容
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
export PATH=$JAVA_HOME/bin:$PATH
case $1 in
start)su root /usr/local/zookeeper/bin/zkServer.sh start;;
stop)su root /usr/local/zookeeper/bin/zkServer.sh stop;;
status)su root /usr/local/zookeeper/bin/zkServer.sh status;;
restart)su root /usr/local/zookeeper/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
然后我们就可以用service zookeeper start/stop来启动停止zookeeper服务了
使用命令把zookeeper添加到开机启动里面
chkconfig zookeeper on
chkconfig --add zookeeper
添加完成之后接这个使用chkconfig --list 来看看我们添加的zookeeper是否在里面。
七、.设置防火墙
[root@oracle ~]# sudo vi /etc/sysconfig/iptables
添加参数
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
[root@oracle ~]# sudo systemctl restart iptables #重启生效
来源:https://blog.csdn.net/lc1010078424/article/details/100803165