zookeeper 安装

来源:互联网 发布:cetv4 网络回看 编辑:程序博客网 时间:2024/06/15 14:25

首先需要在虚拟机中安装3个centos7,每个人熟悉的linux可能不太相同,这里安其他的也是一样的,如图:
这里写图片描述

下载zookeeper安装文件zookeeper-3.4.5.tar.gz

将zookeeper-3.4.5.tar文件上传到要解压的目录
3.使用解压命令解压tar -zxvf zookeeper-3.4.5.tar.gz进行解压操作
4.设置zookeeper的系统环境变量,在这里要扩展一个命令就是export

export
设置或显示环境变量
语法:export [-fnp] [变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。
参  数:
 -f  代表[变量名称]中为函数名称。
 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
 -p  列出所有的shell赋予程序的环境变量。

用法示例:
export:直接输出系统中现在所有的环境变量
export PATH=/opt/zookeeper/bin:$PATH:设置系统环境变量

想要看具体的环境变量,可以直接使用echo $PATH,可以查看到现在系统中的环境变量都有哪些,如下所示:

[root@192 ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

5.现在我们要设置zookeeper的PATH变量了,打开/etc/profile文件

为什么要在/etc/profile文件中进行系统环境变量的定义呢,因为写在这个文件中的配置是永久有效,并且对所有用户且有效的,那么就在这样扩展一下,linux下修改系统变量的一些相关知识:

方法1:
export PATH=/usr/local/mongodb/bin:PATH//echoPATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户

方法2:
修改方法二:
通过修改.bashrc文件:
vim ~/.bashrc
//在最后一行添上:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户

修改方法三:
通过修改profile文件:
vim /etc/profile
/export PATH //找到设置PATH的行,添加
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

修改方法四:
通过修改environment文件:
vim /etc/environment
在PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games”中加入“:/usr/local/mongodb/bin”
生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

所以这里我们采用的是第三种方法,如下所示:

export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH

加入之后保存。

6.保存之后使用echo $PATH命令再次查看,和之前的结果还是一样的,因为我们并没有对环境进行刷新操作,那么就需要刷新一下配置文件了,可以使用:source /etc/profile命令,刷新之后再来看我们的系统环境变量,如下:

[root@192 ~]# source /etc/profile[root@192 ~]# echo $PATH/usr/local/zookeeper/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

这样我们的系统环境变量PATH中就有了zookeeper的相关路径了

7.到zookeeper下修改配置文件

cd /usr/local/zookeeper/confmv zoo_sample.cfg zoo.cfg

修改zoo.cfg文件

vim zoo.cfg

需要修改两个地方
(1) dataDir=/usr/local/zookeeper/data
(2)最后面添加
server.0=192.168.1.1:2888:3888
server.1=192.168.1.2:2888:3888
server.2=192.168.1.3:2888:3888

这里要补充说明一下,我是直接使用ip地址,也可以配置成主机名,不过我没有成功,不知道怎么回事,如果有人知道可以在底下留言告诉我。

使用hostname命令可以查看当前的主机名

因为我的虚拟机是使用的centos7,所以设置主机名称的命令是:hostnamectl set-hostname <主机名> ,不同的linux发行版改的方式可能不太一样,但是都差不多,也不难,可以按照自己的发行版本自行搜索一下就好了。

这里的2888是每个zookeeper服务器与集群的leader之间通讯的端口

3888表示万一leader挂掉了,需要一个端口进行重新选举,选出一个新的leader

8.服务器标识配置:
创建文件夹: mkdir data
创建文件myid并填写内容为0
myid为服务器标识

因为这里我是直接克隆的虚拟机,所以不需要拷贝zookeeper文件夹,但是如果是其他情况可能会需要拷贝到其他虚拟机里面。

我的服务器是在虚拟机里面的,所以克隆一下很快就有了,如图
这里写图片描述

9.修改其他服务器的myid,修改的时候要和下面的内容对应起来:
server.0=192.168.1.1:2888:3888
server.1=192.168.1.2:2888:3888
server.2=192.168.1.3:2888:3888
server.X,这里的x就是myid对应的值,这样就比较好定位了,根据不同的计算机名称来确定不同的值,修改之后保存即可,这里就不再详细的说了

10.修改防火墙端口开启
由于我使用的是centos7,所以默认防火墙是不开除了22端口以外的端口,可以先使用命令:

firewall-cmd    --query-port=2888/tcpfirewall-cmd    --query-port=3888/tcpfirewall-cmd    --query-port=2181/tcp

检查一下,最好把需要用到的端口都检查一遍, 不然后续使用的时候会麻烦
这里需要开启一下2888和3888端口的,命令如下:

firewall-cmd --zone=public --add-port=2888/tcp --permanentfirewall-cmd --zone=public --add-port=3888/tcp --permanentfirewall-cmd --zone=public --add-port=2181/tcp --permanentsystemctl restart firewalld.service

这里当然三台虚拟机都要进行操作才行,后面使用还要开2181端口,也就是zk客户端使用的端口号,所以这里也可以一起开了,不过我这个例子中并没有用到。
做完之后再使用之前检查端口是否开启的命令检查一遍比较稳妥

11.启动zookeeper
路径: /usr/local/zookeeper/bin
执行: zkServer.sh start

记得三台都要启动哦

我这里由于在之前配置好了环境变量,所以直接执行zkServer.sh start就行了,如果不配置环境变量,那就需要到具体的zookeeper目录中去执行才行了

启动之后检查运行状态,使用命令: zkServer.sh status(在三个节点上检验zk的mode,一个leader和俩个follower),如图所示:
这里写图片描述

原创粉丝点击