官网下载地址:https://zookeeper.apache.org

linux环境安装zookeeper(一)_zookeeper

linux环境安装zookeeper(一)_zookeeper_02

linux环境安装zookeeper(一)_zookeeper_03

下载 Linux 环境安装的 tar 包:

linux环境安装zookeeper(一)_zookeeper_04

然后登录自己的linux服务器,我使用的是阿里云服务器:将tar包上传到服务器

linux环境安装zookeeper(一)_zookeeper_05

我将它安装(解压缩)到root目录下面

linux环境安装zookeeper(一)_zookeeper_06

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz  -C /root

这个时候在root下面就可以看到解压缩的jar包

linux环境安装zookeeper(一)_zookeeper_07

名字太长了,我们可以修改一下名字:

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

linux环境安装zookeeper(一)_zookeeper_08

然后启动Zookeeper服务端:sh zkServer.sh start

启动之后我发现jps  -l 并没有看到zk相关的进程,就很郁闷

linux环境安装zookeeper(一)_zookeeper_09

于是我切到日志文件里面查看启动的相关日志:

linux环境安装zookeeper(一)_zookeeper_10

报错原因:在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的进程

linux环境安装zookeeper(一)_zookeeper_11

然后启动zk客户端 sh zkCli.sh 

linux环境安装zookeeper(一)_zookeeper_12

这个时候可以看到我们已经在启动的客户端下面了,可以进行使用linux命令创建节点等一系列的操作:

linux环境安装zookeeper(一)_zookeeper_13

当然也可以查看zk的状态:sh zkServer.sh  status 

linux环境安装zookeeper(一)_zookeeper_14

可以看到现在是单机运行的standalone 

此就结束了,感兴趣的可以扫码关注博主的公众号,会不定期推送优质技术文章的哦

linux环境安装zookeeper(一)_zookeeper_15