zookeeper是一个分布式的协调服务,所以安装的时候也是安装在多个服务器上
我首先准备了3虚拟机,分别是mini1,mini2,mini3
采用的远程登陆软件是xshell6
以及jdk1.7,zookeeper3.4.6
首先安装好虚拟机后,配置三台机器之间的免密登陆
可以查看https://mp.csdn.net/postedit/100596784
配置好免密登陆后,服务器之间传输数据不再需要输入登陆密码;主要的操作都在mini1上进行,然后将mini1上的文件传输到mini2和mini3,这样就不用在各个服务器重复操作了。
接着是安装jdk,安装jdk之前,先要卸载Linux上的jdk
rpm -qa | grep java 查看自带的jdk的版本
rpm -e +jdk版本 删除jdk
如果删除不掉,是由于存在其他的依赖,可以执行rpm -e **** --nodeps 强行删除
删除好了Linux自带的jdk后,上传需要安装的jdk,然后解压 tar -zxvf jdk
然后在/etc/profile中,配置全局变量
再将jdk的安装目录jdk1.7传输到其他服务器
scp -r /usr/local/apps/jdk1.7 root@mini2:/usr/local/apps/
scp -r /usr/local/apps/jdk1.7 root@mini3:/usr/local/apps/
然后再各个服务器中执行命令source /etc/profile,是安装的jdk生效
有个快捷方法,使命令能同时在各个服务器执行
这么设置后,只要下框中输入相应的命令,就可以将命令输入到各个服务器
安装好jdk后,开始安装zookeeper
上传zookeeper的压缩文件,然后解压tar -zxvf zookeeper.tar.gz,得到解压的文件zookeeper
进入到zookeeper的文件中,进入conf目录,修改文件名zoo_sample.cfg为zoo.cfg
进入文件zoo.cfg,并修改为下面的样子
其中dataDir要将默认的目录修改掉,例如dataDir=/root/zkData
然后将zookeeper目录传输到其他服务器
scp -r zookeeper root@mini2:/usr/local/apps
scp -r zookeeper root@mini3:/usr/local/apps
并在每个服务器的/root下创建zkData,并且创建一个文件myid,代表服务器的id
在mini1的/root/zkData下执行命令echo 1 > myid,在mini2的/root/zkData下执行命令echo 2 > myid,在mini3的/root/zkData下执行命令echo 3 > myid
然后进入到各个zookeeper的bin目录下,执行命令./zkServer.sh start,查看./zkServer.sh status,如果报错
说明zookeeper集群存在问题,可以尝试关闭防火墙
在执行./zkServer status,出现下面的输出
说明zookeeper启动成功