官网下载地址:https://zookeeper.apache.org
下载 Linux 环境安装的 tar 包:
然后登录自己的linux服务器,我使用的是阿里云服务器:将tar包上传到服务器
我将它安装(解压缩)到root目录下面
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /root
这个时候在root下面就可以看到解压缩的jar包
名字太长了,我们可以修改一下名字:
mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7
然后进行一些配置修改,将/root/zookeeper-3.5.7/conf 路径下的 zoo_sample.cfg 修改为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
然后打开 zoo.cfg 文件,修改 dataDir 路径,dataDir默认是:dataDir=/tmp/zookeeper ,这个默认是临时目录,linux系统中临时目录的文件到达一定时间会删除掉临时目录数据,所以这个路径需要修改一下;
于是我在/root/zookeeper-3.5.7下面新建一个文件夹zkData,然后数据放到这个文件夹下面
所以修改dataDir=/root/zookeeper-3.5.7/zkData
然后启动Zookeeper服务端:sh zkServer.sh start
启动之后我发现jps -l 并没有看到zk相关的进程,就很郁闷
于是我切到日志文件里面查看启动的相关日志:
报错原因:在3.5.5版本及以上,Zookeeper 提供了一个内嵌的Jetty容器来运行 AdminServer,默认占用的是 8080端口,AdminServer 主要是来查看 Zookeeper 的一些状态,如果机器上有其他程序(比如:Tomcat)占用了 8080 端口就会出现问题,解决方案如下:
1、如果不需要 AdminServer
,可以直接禁用:打开 zoo.cfg
配置文件,直接添加以下配置
# 禁用 AdminServer 服务
admin.enableServer=false
2、如果想使用 AdminServer
, 那么可以直接在 zoo.cfg
配置文件中修改端口号即可,比如让其绑定 9000(阿里云服务器记得开放对应的端口)
# admin port
admin.serverPort=9000
然后启动之后会发现已经有了zk的进程
然后启动zk客户端 sh zkCli.sh
这个时候可以看到我们已经在启动的客户端下面了,可以进行使用linux命令创建节点等一系列的操作:
当然也可以查看zk的状态:sh zkServer.sh status
可以看到现在是单机运行的standalone
此就结束了,感兴趣的可以扫码关注博主的公众号,会不定期推送优质技术文章的哦