首页 > 技术文章 > zk安装

q1359720840 2022-02-13 02:25 原文

使用zk必须有java环境,如果有条件就用现有的资源进行克隆,如果没有条件就自己搭建一个环境带着java环境就好。

本人使用现有工程进行克隆操作,克隆三台机器,基于199机器进行克隆。

 ip:192.168.31.235 

 ip:192.168.31.100

 ip:192.168.31.43

账号root

密码:player3.

 

zk本地安装

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz 

在根目录新建module文件夹

 

 将文件解压到module文件夹下

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /module/

可以删除压缩包

mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

进入之后的目录结构

 

 

 

 进入conf文件夹

mv zoo_sample.cfg zoo.cfg

vi zoo.cfg

 

 需要把dataDir=/tmp/zookeeper地址修改安装目录下的地址,这个tmp是临时目录,过一段时间数据就会背清理掉的。

 在自己的目录下创建文件夹:

/module/zkData

 

 修改为你自己的目录后保存。

 

 进入bin,启动server

 . zkServer.sh start

启动服务端:

. zkCli.sh

 

 conf下的参数说明:

tickTime=2000
通信心跳时间,zk服务器与客户端心跳时间,单位毫秒

initLimit=10 
leader和Follower初始连接时能容忍的最多心跳数(tickTime数量)
最多不能超过10*心跳时间

syncLimit=5 
LF同步通信时限
一旦建立好连接之后,5*2000还没有进行,l认为f死掉,从服务列表删除f

dataDir:保存zk中的数据,tmp容易被系统自动清理

clientPort=2181  客户端连接端口通常不修改

  

zk集群版安装

集群安装:
集群规划:
在hadoop三个节点都部署zk
思考:如果是10台机器需要部署10台吗?

我们这里使用scp 进行发送

 scp   zookeeper-3.5.7 root@192.168.31.100:/module/zookeeper-3.5.7

报错:不是一个文件

zookeeper-3.5.7: not a regular file

所以加上 -r

 scp -r  zookeeper-3.5.7 root@192.168.31.100:/module/zookeeper-3.5.7

 scp -r  zookeeper-3.5.7 root@192.168.31.43:/module/zookeeper-3.5.7

问你是否yes,输入yes

在zk01,zk02,zk03的module文件夹下都有数据存放目录,zkData,在这里创建myid文件,保存各自的id ,zk01,填1,zk02填2,zk03填3 保存

 最后修改conf中的文件

server.1=192.168.31.235:2888:3888
server.2=192.168.31.100:2888:3888
server.3=192.168.31.43:2888:3888

解释:

增加配置:
server.1=192.168.31.235:2888:3888
server.2=192.168.31.100:2888:3888
server.3=192.168.31.43:2888:3888

server.A=B:C:D
A是一个数字代表第几号服务器
这个是myid的值
b是服务器的地址
c是fl交换信息端口
d是集群l服务挂了的端口选举。

 

 

 

解决ZooKeeper集群搭建 [myid:1] - WARN [QuorumPeer[myid=1]:QuorumCnxManager@685] - Cannot open channel

[QuorumPeer[myid=1](plain=0.0.0.0:2181)

在配置文件conf/zoo.cfg中添加  quorumListenOnAllIPs=true

如果你的能直接启动service和client,可以不用加。

 

 

 .zkServer.sh start  将三台都启动成功

client也启动:  . zkCli.sh

进入命令行后: ls /

显示: [zookeeper]

 

创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串

 

 在其他节点也能get到说明集群搭建成功。

 

 

 

 

推荐阅读