侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 144665 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

zookeeper多实例快速安装

2023-12-01 星期五 / 0 评论 / 0 点赞 / 8 阅读 / 4971 字

本文在一台机器上模拟3个 zk server的集群安装 本人安装的系统版本信息(Esxi虚拟机) [lsug@172-16-1-105 ~]$ uname -a Linux 172-16-1-105

本文在一台机器上模拟3个 zk server的集群安装

本人安装的系统版本信息(Esxi虚拟机)
[lsug@172-16-1-105 ~]$ uname -a
Linux 172-16-1-105 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[lsug@172-16-1-105 ~]$ cat /etc/redhat-release 
CentOS release 6.7 (Final)


1.下载解压
解压到3个目录(模拟3台zk server)

tar -zxf zookeeper-3.4.6.tar.gz

2.环境准备
创建需要的目录:
每个zk的instance都需要设置独立的数据存储目录、日志存储目录,所以dataDir、dataLogDir这二个节点对应的目录,需要手动先创建好。
在/data目录下分别创建z1,z2,z3三个文件夹,分别在每个文件夹下创建data和log目录
mkdir -p /data/zk{1..3}/{data,log} 

创建多实例:
cp -R zookeeper-3.4.6/* /data/zk1/
cp -R zookeeper-3.4.6/* /data/zk2/
cp -R zookeeper-3.4.6/* /data/zk3/

3. 修改配置文件
创建每个目录下conf/zoo.cfg配置文件 
vim /data/zk1/conf/zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zk1/data
dataLogDir=/data/zk1/log
clientPort=2181
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389

vim /data/zk2/conf/zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zk2/data
dataLogDir=/data/zk2/log
clientPort=2182
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389

vim /data/zk3/conf/zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zk3/data
dataLogDir=/data/zk3/log
clientPort=2183
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389

注:因为是在一台机器上模拟集群,所以端口不能重复,这里用2181~2183,2287~2289,以及3387~3389相互错开。

另外还有一个非常关键的设置,在每个zk server配置文件的dataDir所对应的目录下,必须创建一个名为myid的文件,其中的内容必须与zoo.cfg中server.x 中的x相同,即:
[root@localhost wwt]# cat /data/zk1/data/myid   对应server.1中的1
1
[root@localhost wwt]# cat /data/zk2/data/myid   对应server.2中的2
2
[root@localhost wwt]# cat /data/zk3/data/myid  对应server.3中的3
3


4,启动多实例
/data/zk1/bin/zkServer.sh start
/data/zk2/bin/zkServer.sh start
/data/zk3/bin/zkServer.sh start

5-检查启动是否成功
检查一
启用成功后,输入 jps 看下进程

jps
20351 ZooKeeperMain
20791 QuorumPeerMain
20822 QuorumPeerMain
20865 QuorumPeerMain
1928 Jps
检查二
[lsug@localhost ~]$ netstat -anltup | grep 218*
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 :::2181                     :::*                        LISTEN      779/java            
tcp        0      0 :::2182                     :::*                        LISTEN      639/java            
tcp        0      0 :::2183                     :::*                        LISTEN      734/java   

6.测试
可以启动客户端测试下:
bin/zkCli.sh -server localhost:2181
(注:如果是远程连接,把localhost换成指定的IP即可)

成功后,应该会进到提示符下,类似下面这样:
[zk: localhost:2181(CONNECTED) 0]  

然后,就可以用一些基础命令,比如 ls ,create ,delete ,get 来测试了(关于这些命令,大家可以查看文档),
特别提一个很有用的命令rmr 用来递归删除某个节点及其所有子节点

====****生产环境中,分布式集群部署的步骤与上面基本相同,只不过因为各zk server分布在不同的机器,上述配置文件中的localhost换成各服务器的真实Ip即可。
分布在不同的机器后,不存在端口冲突问题,可以让每个服务器的zk均采用相同的端口,这样管理起来比较方便。***=====

广告 广告

评论区