前面我们在windows下安装了zookeeper服务器,那么在Linux下如何安装zookeeper服务器呢? 大体一致,直接上干货!!
1、下载zookeeper安装包
2、拖拽至Linux下指定安装zookeeper目录下
3、解压zookeeper安装包,在zookeeper安装目录下执行以下命令
tar -zxvf zookeeper-3.4.14.tar.gz
4、进入解压文件夹下conf目录下
5、拷贝zoo_sample.cfg文件并改名为zoo.cfg
6、修改zoo.cfg配置文件
1.在zookeeper安装目录下新建两个文件夹,分别用于存放数据(data)和日志(log)
2. vim 修改conf下zoo.cfg配置中数据存储和数据日志路径
zoo.cfg配置文件参数说明
# tickTime 客户端与服务器或者服务器与服务器之间维持心跳,也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制Flower跟Leader的通信时间
# initLimit 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数
#syncLimit 集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数
# dataDir 用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。
# dataLogDir 存放事务日志的文件夹
# clientPort 客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。
# maxClientCnxns 允许连接的客户端数目,0为不限制,通过IP来区分不同的客户端
以上配置完成即可 启动 zookeeper 服务
7.1、前台启动zookeeper服务器
进入安装zookeeper下的bin目录下,执行以下命令,前台启动zookeeper!!!(一般检查启动是否成功)
./zkServer.sh start-foreground
7.2、后台启动zookeeper服务器(推荐)
./zkServer.sh start
插入易报错内容
(error) : 这里启动可能会报一个错误:java.net.BindException: 地址已在使用报该错误原因是你的zookeeper在别处已经启动了,端口被占用,关闭即可,这里提供另一个解决方法,修改zookeeper端口号
1.进入conf目录下我们拷贝的zoo.cfg配置文件zoo.cfg配置文件下的 clientPort 端口号,默认2181,这里2181被占用报地址错误,因此我们需要修改zookeeper端口号,让它能够正常工作!!
修改完 ,输出底层命令 :wq 保存退出即可!!
验证方式很简单,再次重新启动zookeeper即可,便不会报地址已被占用错误了!!
8、测试连接 zookeeper ,验证zookeeper是否安装成功
以上zookeeper启动成功后便可测试连接zookeeper了
格式 : ./zkCli.sh -server IP地址 : 端口号 ( -server 使用默认端口号2181无需加此步,一旦修改了配置端口号,即需指明服务配置,否则无法连接报错)
./zkCli.sh -server localhost:2182
如上图,即服务连接成功,zookeeper安装成功!!!
至此Linux系统中zookeeper即成功安装!! 下面分享zookeeper相关命令使用!!
./zkServer.sh sdffsdfs
[root@localhost bin]# ./zkServer.sh sdffsdfs
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
#start 后台启动服务
#start-foreground 前台启动服务
#stop 停止服务
#restart 重新启动服务
#upgrade 升级服务
#print-cmd 打印
实战案例
1.关闭zookeeper服务器
./zkServer.sh stop
2.查看zookeeper服务器状态
./zkServer.sh sdffsdfs
zookeeper服务正在运行
解释 : standalone :正在运行,且为单机运行
zookeeper服务未运行
如有疑问,欢迎留言
Thanks!