安装jdk:

输入“java”命令如果没有安装jdk,会提示使用“sudo apt install <-->”安装,安装命令:sudo apt install openjdk-8-jdk ,使用apt安装的是全自动,安装成功直接使用即可

一.独立的zookeeper部署
1.新建文件夹存放:

mkdir /home/henlafeng/zookeeper
cd zookeeper/

2.下载:

 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

3.解压:

tar -zxvf zookeeper-3.4.9.tar.gz
cd zookeeper-3.4.9/conf

4.配置文件重命名:

mv zoo_sample.cfg zoo.cfg

5.启动zk:

 cd ../bin
 ./zkServer.sh start

6.查看启动状态:(mode:standalone独立)

 ./zkServer.sh status   看到mode信息即代表启动成功

7.停止zk:

 ./zkServer.sh stop

二.zookeeper集群部署
zk集群最好配成奇数个节点
只要集群中有半数以上节点存活,集群就能提供服务
1) 准备3台虚拟机:新建或克隆三台虚拟机(完整克隆,而不是链接)

clipboard.png

2) 配置虚拟机:3台虚拟机都要配置

配置ip和端口:

sudo vi /etc/hosts 
按i键开始编辑,编辑好esc键退出编辑模式,输入命令 :wq! 进行退出并保存,
输出命令 :q! 退出不保存

clipboard.png

修改主机名:(使用root用户修改)

 sudo su  切到root用户
 vi /etc/hostname  手动编辑旧主机名换成新主机名或 
 echo newhostname >> /etc/hostname  命令行直接修改主机名
 hostname newhostname 指定新的主机名
 su - henlafeng  切回普通用户

3) 部署zk:可以先在1台部署,部署完成使用命令复制给别的虚拟机
1-4步骤重复,直接从配置文件改名后开始接
5.编辑配置文件

vi zoo.cfg

clipboard.png
(server.myid=host:prot:port====ip:leader与follwer通信同步的端口号:leader选举的端口号)
6.配置myid文件的服务编号(dataDir配置的路径下)

echo idnum  > myid  其中idnum为配置文件中server.后面的数字,数字可以没有规则但是不可重复

7.复制给别的虚拟机或者同样部署到别的虚拟机

scp -r 文件夹名 用户名@ip:目的路径
scp -r zookpeeper henlafeng@192.168.XX.XX:$PWD  
其中$PWD是指操作时的路径,复制到虚拟机的同样这个路径下  
其中zookeeper是步骤1时新建的文件夹   
注意:复制到别的虚拟机之后,再修改下myid配置的id,保证虚拟机id与服务id一致
如果你myid文件不是在zookeeper文件夹中创建的,那myid文件也是要对应拷贝过去的

8.启动zk:3台虚拟机分别启动,注意集群环境下,由于投票机制,所以只启动一台zk是无法工作的

 cd /home/zookeeper/zookeeper-3.4.9/bin
 ./zkServer.sh start             

9.查看集群状态,主从信息:(mode:follower从/leader主)

 ./zkServer.sh status   看到mode主从信息即代表启动成功

10.查看日志报错信息:(/zookeeper-3.4.9/bin目录下)

ll
less zookeeper.out

11.查看进程:

 ps -ef|grep zoo   可以看到进程号等进程信息

12.停止zk:

 ./zkServer.sh stop    停止服务
 kill 进程号            杀死进程

13.防火墙操作:防火墙开启会拦截导致无法互相投票、启动失败

1) 重启后生效 
      开启: chkconfig iptables on 
      关闭: chkconfig iptables off 
2) 即时生效,重启后失效 
      开启: service iptables start 
      关闭: service iptables stop 

fangyanr
6 声望1 粉丝