Linux安装zookeeper-3.4.5

本文详细介绍了在Linux环境下安装ZooKeeper-3.4.5的过程,包括必要的Java环境设置,ZooKeeper的下载、解压、配置及启动步骤。同时,深入探讨了ZooKeeper集群模式下的配置方法,包括各参数的意义及其对系统的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux安装zookeeper-3.4.5

zookeeper是由java开发的,其运行也需要java环境,请先安装java。
参考:https://blog.youkuaiyun.com/raoxiaoya/article/details/98951932

下载
官网:http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
网盘:
链接:https://pan.baidu.com/s/1qzFeUBPtgOwcs4bMjeSVaQ
提取码:ye7w

cd /usr/local
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
tar -xf zookeeper-3.4.5.tar.gz
mv zookeeper-3.4.5 zookeeper
cd zookeeper
mkdir data
mkdir logs

cd conf
cp zoo_sample.cfg zoo.cfg

vi zoo.cfg
	dataDir=/usr/local/zookeeper/data
	dataLogDir=/usr/local/zookeeper/logs

cd ../
bin/zkServer.sh start-foreground

打开新窗口
netstat -lntp |grep 2181
tcp6       0      0 :::2181                 :::*                    LISTEN      23304/java

连接这个服务
cd /usr/local/zookeeper
bin/zkCli.sh

连接成功!
ctrl+c 退出连接
ctrl+c 退出服务

退出后使用后台启动zookeeper
bin/zkServer.sh start

对于集群模式下的ZooKeeper部署,3个ZooKeeper服务进程是建议的最小进程数量,而且不同的服务进程建议部署在不同的物理机器上面,以减少机器宕机带来的风险,以实现ZooKeeper集群的高可用。
ZooKeeper对于机器的硬件配置没有太大的要求。例如,在Yahoo!内部,ZooKeeper部署的机器其配置通常如下:双核处理器,2GB内存,80GB硬盘。

目录结构
	bin目录 
	zk的可执行脚本目录,包括zk服务进程,zk客户端,等脚本。其中,.sh是Linux环境下的脚本,.cmd是Windows环境下的脚本。

	conf目录 
	配置文件目录。zoo_sample.cfg为样例配置文件,需要修改为自己的名称,一般为zoo.cfg。log4j.properties为日志配置文件。

	zookeeper-contrib目录 
	一些用于操作zk的工具包。

	zookeeper-recipes目录 
	zk某些用法的代码示例

配置文件zoo.cfg
	clientPort:zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
	dataDir:无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。
	tickTime:客户端与zk服务端的心跳时间,默认值为2000毫秒

命令
	后台运行:./zkServer.sh start
	前台运行:./zkServer.sh start-foreground
	./zkServer.sh stop
	./zkServer.sh status

客户端连接
	./zkCli.sh 
	默认连接 127.0.0.1:2181
	或者连接其他机器
	./zkCli.sh -server 192.168.0.1:2181
	
	链接成功后可以测试一些命令:
	ls /
	help
	
	

集群模式
	配置
	tickTime=2000
	dataDir=/usr/local/zookeeper/data
	dataLogDir=/usr/local/zookeeper/logs
	clientPort=2181
	initLimit=5
	syncLimit=2
	server.1=192.168.10.200:2888:3888
	server.2=192.168.10.201:2888:3888
	server.3=192.168.10.202:2888:3888

	initLimit 
	ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。 
	当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。
	initLimit配置follower与leader之间建立连接后进行同步的最长时间。
	
	syncLimit 
	配置follower和leader之间发送消息,请求和应答的最大时间长度。
	
	tickTime 
	tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。
	server.id=host:port1:port2 
	其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。 
	host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。
	
	dataDir 
	其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能
	为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。

	注意 
	如果仅为了测试部署集群模式而在同一台机器上部署zk进程,server.id=host:port1:port2配置中的port参数必须不同。但是,
	为了减少机器宕机的风险,强烈建议在部署集群模式时,将zk进程部署不同的物理机器上面。

	连接集群
	bin/zkCli.sh -server 192.168.10.200:2181,192.168.10.201:2181,192.168.10.202:2181
	从日志输出可以看到,客户端连接的是 192.168.10.200:2181 进程(连接上哪台机器的zk进程是随机的),客户端已成功
	连接上zk集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值