Linux端的两种模式安装Zookeeper及部署
Linux端的两种模式安装Zookeeper及部署
文章目录
本地模式安装Zookeeper及部署
1.通过远程工具将Zookeeper压缩包导入
(1)解压
tar -zxvf zookeeper-3.4.10.tar.gz
(2)删除压缩包
rm -fr zookeeper-3.4.10.tar.gz
(3)重命名
mv zookeeper-3.4.10 zookeeper
2.配置修改
(1)将/software/zookeeper/conf路径下的文件zoo_sample.cfg修改为zoo.cfg
mv zoo_sample.cfg zoo.cfg
(2)编辑文件zoo.cfg,修改dataDir路径
vim zoo.cfg
修改内容:
dataDir=/home/hyn/software/zookeeper/zkData
(3)在/software/zookeeper下创建zkData文件夹
mkdir zkData
3.操作Zookeeper
(1)启动zookeeper
bin/zkServer.sh start
(2)查看进程是否启动
jps
(3)查看状态
bin/zkServer.sh status
(4)启动客户端
bin/zkCli.sh
(5)退出客户端
quit
(6)停止zookeeper
bin/zkServer.sh stop
分布式安装部署(分布式部署之前要关闭防火墙)
sudo service iptables stop
sudo service iptables status
1.集群规划
在之前搭好的集群cloud01、cloud03 和 cloud04 三个节点上部署 Zookeeper。
2.解压安装
(1)解压 Zookeeper 安装包到/software/目录下
tar -zxvf zookeeper-3.4.10.tar.gz
删除压缩包
rm -fr zookeeper-3.4.10.tar.gz
重命名文件夹
mv zookeeper-3.4.10.tar.gz zookeeper
(2)在cloud03、cloud04上解压zookeeper压缩包,重复操作(1)
3.配置服务器编号
(1)在/software/zookeeper/这个目录下创建 zkData
mkdir -p zkData
(2)在/software/zookeeper/zkData 目录下创建一个 myid 的文件
touch myid
(添加 myid 文件,注意一定要在 linux 里面创建,在 notepad++里面很可能乱码)
(3)编辑 myid 文件
vi myid
在文件中添加与 server 对应的编号:
2
(4)拷贝配置好的 zookeeper 到其他机器上
并分别在 Cloud03、Cloud04上修改 myid 文件中内容为 3、4
4.配置 zoo.cfg 文件
(1)重命名/software/zookeeper/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
(2)打开 zoo.cfg 文件
vim zoo.cfg
修改数据存储路径配置
dataDir=/home/duck/software/zookeeper/zkData
增加如下配置
#######################cluster##########################
server.2=Cloud01:2888:3888
server.3=Cloud03:2888:3888
server.4=Cloud04:2888:3888
(3)同步操作其他两台机器的zoo.cfg 配置文件
(4)配置参数解读
server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据
就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比
较从而判断到底是哪个 server。
B 是这个服务器的 ip 地址;
C 是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的
Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
5.集群操作
(1)分别启动 Zookeeper
bin/zkServer.sh start
bin/zkServer.sh start
bin/zkServer.sh start
(2)查看状态
bin/zkServer.sh status
bin/zkServer.sh status
bin/zkServer.sh status