Hello,朋友们,我又来了!上一篇文章介绍了Zookeeper的下载。本篇博客就是介绍Zookeeper的安装以及基本命令的使用。
一起学习,一起进步。继续沉淀,慢慢强大。希望这文章对您有帮助。若有写的不好的地方,欢迎评论给建议哈!
初写博客不久,我是杨展浩。这是我的第六篇博客。加油!!!
在此处说明下,博主的环境:是通过虚拟机安装的 Centos7 系统。小提示:安装 Centos7 时候,选择桌面版本比较好,桌面版本直观又可以开终端!!!
具体的虚拟机安装 Centos7系统流程步骤,在这我就不详细说明啦哈,给出网上的一篇安装 Centos7文章链接,贼详细的:https://blog.csdn.net/alan_gaohaodong/article/details/79867052
好,回到我们的主题 --> ZooKeeper安装以及基本指令使用。
1、在官网下载下来的Zookeeper压缩包,通过传输工具(Xftp,wincp)将压缩包传到Centos7上的指定目录(目录可以自己创建命名,最好是能见名知意那种,一般是在 /opt 目录下创建一个名为 software 的专门存放压缩包的目录。博主比较骚气,就命名为 compressedPackage --> 压缩包的英文。)
2、在 /opt 目录下创建一个目录(目录名称自己命名即可。博主命名为 middleware 中间件意思),存放解压缩后的zookeeper。
shell执行命令:tar -xvzf /opt/compressedPackage/zookeeper-3.4.14.tar.gz /opt/middleware/
3、经过上面两步,zookeeper的上传到 Centos7 以及 解压工作就完成了。
接下来就是zookeeper目录讲解以及配置文件修改:
- 首先进去zookeeper的目录,大概浏览下zookeeper目录内有哪些目录文件:
- 主要留意的目录: /bin(zookeeper启动相关命令) /conf(zookeeper的配置文件)
注意下面红色箭头: .cmd是windows系统的启动服务命令,.sh是linux系统的启动服务命令。
- zookeeper目录中 /conf 目录下有个 zoo_sample.cfg 默认的配置文件,我们需要更改下改配置文件的名称,改为 zoo.cfg。
至于为什么要更改名称:这里需要详细说明下,一开始博主是有疑惑的(用默认的不行么???),后来博主搜了下网上的安装zookeeper的文章,都只是说更改下名称,不改的话就启动不了zookeeper服务,但是就是没给出为什么要改成zoo.cfg名称的原因。找了很多文章,都没具体说明。
博主搜索的文章了解到最深的解释是:zookeeper服务启动的时候,会去搜索 conf/zoo.cfg 的配置文件。
于是乎博主就想:从启动zookeeper命令入手(也就是 bin/zkServer.sh ),主要想看下是不是有写到相关语句去搜索 conf/zoo.cfg 这个配置文件,但是全文上上下下搜索了几次,都没发现说有这个相关的语句。也试过大小写搜索,只搜到个 ZOOCFG 这个词语。
搜不到,当时候就想了,会不会不在这执行脚本文件中,而且文中搜到的 ZOOCFG 只是一个引用,于是乎再从头到尾看了一篇。
终于在文件开头有所发现(下方截图),执行 zkServer.sh 脚本时候,会跳去执行 zkEnv.sh 的脚本文件。
我就打开 zkEnv.sh 的脚本文件, 找到了!!!!ZOOCFG = "zoo.cfg" 。
Z00CFG=" $Z00CFGDIR/$Z00CFG " 表示:zookeeper安装目录/bin/../conf/zoo.cfg
其实后面博主想了下,修改启动脚本文件中的配置文件名称也是可以的(博主测试过),就是下方截图的zoo.cfg改成zoo_sample.cfg。只是网上大部分开发朋友都选择更改文件名称,并且这zookeeper默认给的执行脚本文件里面的内容能不修改就不修改为好。于是乎博主也跟随大众,修改配置文件的名称。
好了,上面的一段话给为什么要修改配置文件名称做出了解释,因为博主学的时候存在这个疑问,博主是个学一个东西,就会去研究下这东西为什么要这样操作,所以就顺带给大家分享了下。毕竟多学点对自己有好处。
下面继续回正题:
- 查看下zoo.cfg配置文件的内容,配置文件的内容分析下篇文章讲解,因为在这里讲的话,博主感觉截图的信息量就会有点大,阅读性不大好。
- 一般来说每个中间件的配置文件,都会配置一个 /tmp/xxx 数据保存的目录,用来缓存该中间件服务运行期间产生的数据。
- 在这里,博主修改了下数据目录的路径,在zookeeper目录下新建了一个目录 zkData。
4、接下来就是zookeeper的基本命令操作:
zookeeper服务端启动命令:zkServer.sh start
查看zookeeper进程是否启动:jps
查询zookeeper服务的状态:zkServer.sh status
zookeeper客户端启动命令:zkCli.sh
zookeeper客户端退出命令:quit
zookeeper服务端停止命令:zkServer.sh stop