安装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
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! 退出不保存
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