安装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台虚拟机:新建或克隆三台虚拟机(完整克隆,而不是链接)
2) 配置虚拟机:3台虚拟机都要配置
配置ip和端口:
sudo vi /etc/hosts
按i键开始编辑,编辑好esc键退出编辑模式,输入命令 :wq! 进行退出并保存,
输出命令 :q! 退出不保存
修改主机名:(使用root用户修改)
sudo su 切到root用户
vi /etc/hostname 手动编辑旧主机名换成新主机名或
echo newhostname >> /etc/hostname 命令行直接修改主机名
hostname newhostname 指定新的主机名
su - henlafeng 切回普通用户
3) 部署zk:可以先在1台部署,部署完成使用命令复制给别的虚拟机
1-4步骤重复,直接从配置文件改名后开始接
5.编辑配置文件
vi zoo.cfg
(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