-bin
./bin/zkCli.sh -server 127.0.0.1:2181
./bin/zkServer.sh start
/opt/zookeeper/zkdata
1
2
3
4
5
6
8
D:\zookeeper
D:\zookeeper\data
JAVA_HOME
Ja版本兼容性
Ja版本兼容性:低版本JDK可能导致UnsupportedClassVersionError,需升级至JDK8或更高版本。
Linux
Linux:执行./bin/zkServer.sh start启动服务,通过status令查看运行状态(单机模式显示standalone)。 Windows:运行zkServer.cmd 启动服务,若遇Ja版本错误,需在zkEnv.cmd 中手动指定JAVA_HOME路径。
Linux:执行./bin/zkServer.sh start启动服务,通过status令查看运行状态(单机模式显示standalone)。
UnsupportedClassVersionError
Windows
Windows:运行zkServer.cmd 启动服务,若遇Ja版本错误,需在zkEnv.cmd 中手动指定JAVA_HOME路径。
ZooKeeper作为分布式协调服务,其运行依赖Ja环境。安装前需确保系统已安装JDK1.8或更高版本,并配置好环境变量。对于Linux系统,可通过ja -version令验证JDK是否安装成功;Windows系统需系统变量中JAVA_HOME的配置。若使用较新版本的ZooKeeper(如3.5.x及以上),需特别注意Ja版本的兼容性,因版本过低导致启动失败。148
ZooKeeper安装环境准备
bin
clientPort
clientPort:客户端连接端口(默认2181),可自定义但需确保端口未被占用。
conf
dataDir
dataDir:指定数据存储目录(如/opt/zookeeper/zkdata或D:\zookeeper\data),需手动创建该目录。 clientPort:客户端连接端口(默认2181),可自定义但需确保端口未被占用。 其他参数如tickTime(心间隔)、initLimit(初始化超时时间)可按需调整。
dataDir:指定数据存储目录(如/opt/zookeeper/zkdata或D:\zookeeper\data),需手动创建该目录。
initLimit
ja -version
lib
ls /
lsof -i:2181
myid
myid文件
myid文件:每台机器的dataDir目录下创建myid文件,内容为对应的服务器ID(1、2、3等)。
netstat -ano
server.1=192.168.1.101:2888:3888
server.1=localhost:2888:3888
server.2=192.168.1.102:2888:3888
server.2=localhost:2889:3889
server.N
standalone
status
tar -zxvf zookeeper-3.4.12.tar.gz -C /opt/soft/
tickTime
zkCli.cmd
zkEnv.cmd
zkServer.cmd
zoo.cfg
zoo_sample.cfg
zookeeper-2181
zookeeper-2182
zookeeper-2183
zookeeper-3.4.12
zookeeper-3.5.4-alpha
下载与解压ZooKeeper
从Apache官网下载稳定版本的ZooKeeper安装包(如zookeeper-3.5.4-alpha或zookeeper-3.4.12),建议选择带有-bin后缀的预编译版本。下载完成后,将压缩包解压至目标目录。Linux系统可使用令tar -zxvf zookeeper-3.4.12.tar.gz -C /opt/soft/解压;Windows系统可直接右键解压至指定路径(如D:\zookeeper)。解压后的目录包含bin(启动脚本)、conf(配置文件)、lib(依赖库)等子目录。348
伪集群模式在同一台机器上模拟多节点环境,适用于开发测试:
伪集群模式部署
其他参数如tickTime(心间隔)、initLimit(初始化超时时间)可按需调整。
创建myid文件
创建myid文件:在每个实例的dataDir目录下创建myid文件,内容分别为1、2、3,与server.N中的N对应。
单机模式配置与启动
启动与验证
启动与验证:分别启动各实例,使用status令节点角(Leader/Follower)。125
启动服务
启动服务: Linux:执行./bin/zkServer.sh start启动服务,通过status令查看运行状态(单机模式显示standalone)。 Windows:运行zkServer.cmd 启动服务,若遇Ja版本错误,需在zkEnv.cmd 中手动指定JAVA_HOME路径。
启动服务:
实例
实例:将ZooKeeper安装目录为多个副本(如zookeeper-2181、zookeeper-2182、zookeeper-2183)。 配置修改: 每个实例的zoo.cfg 中需设置不同clientPort(如2181、2182、2183)及dataDir。 添加集群节点配置:server.1=localhost:2888:3888(通信端口与选举端口),server.2=localhost:2889:3889,依此类推。 创建myid文件:在每个实例的dataDir目录下创建myid文件,内容分别为1、2、3,与server.N中的N对应。 启动与验证:分别启动各实例,使用status令节点角(Leader/Follower)。125
实例:将ZooKeeper安装目录为多个副本(如zookeeper-2181、zookeeper-2182、zookeeper-2183)。
客户端连接验证
客户端连接验证:执行./bin/zkCli.sh -server 127.0.0.1:2181(Linux)或zkCli.cmd (Windows),使用ls /令查看根节点,确认服务正常运行。148
常见问题与注意事项
数据目录权限
数据目录权限:Linux系统需确保dataDir目录具有读写权限,因权限不足导致服务异常。
服务启动
服务启动:依次启动所有节点后,集群会自动选举Leader,通过status令可查看各节点状态。256
每个实例的zoo.cfg 中需设置不同clientPort(如2181、2182、2183)及dataDir。 添加集群节点配置:server.1=localhost:2888:3888(通信端口与选举端口),server.2=localhost:2889:3889,依此类推。
每个实例的zoo.cfg 中需设置不同clientPort(如2181、2182、2183)及dataDir。
添加集群节点配置:server.1=localhost:2888:3888(通信端口与选举端口),server.2=localhost:2889:3889,依此类推。
生产环境建议使用多台物理机或虚拟机部署集群:
端口冲突
端口冲突:若启动失败,clientPort是否被占用,可通过netstat -ano(Windows)或lsof -i:2181(Linux)排查。 Ja版本兼容性:低版本JDK可能导致UnsupportedClassVersionError,需升级至JDK8或更高版本。 数据目录权限:Linux系统需确保dataDir目录具有读写权限,因权限不足导致服务异常。 防火墙配置:集群部署时需关闭防火墙或开放相关端口,确保节点间通信正常。458
端口冲突:若启动失败,clientPort是否被占用,可通过netstat -ano(Windows)或lsof -i:2181(Linux)排查。
节点配置
节点配置:每台机器安装ZooKeeper,zoo.cfg 中需包含所有节点信息(如server.1=192.168.1.101:2888:3888,server.2=192.168.1.102:2888:3888)。 myid文件:每台机器的dataDir目录下创建myid文件,内容为对应的服务器ID(1、2、3等)。 防火墙与端口:确保各节点间的通信端口(如2888、3888)开放,因问题导致选举失败。 服务启动:依次启动所有节点后,集群会自动选举Leader,通过status令可查看各节点状态。256
节点配置:每台机器安装ZooKeeper,zoo.cfg 中需包含所有节点信息(如server.1=192.168.1.101:2888:3888,server.2=192.168.1.102:2888:3888)。
配置修改
配置修改: 每个实例的zoo.cfg 中需设置不同clientPort(如2181、2182、2183)及dataDir。 添加集群节点配置:server.1=localhost:2888:3888(通信端口与选举端口),server.2=localhost:2889:3889,依此类推。
配置文件准备
配置文件准备:进入conf目录,默认配置文件zoo_sample.cfg 并重名为zoo.cfg 。通过文本编辑器修改以下心参数: dataDir:指定数据存储目录(如/opt/zookeeper/zkdata或D:\zookeeper\data),需手动创建该目录。 clientPort:客户端连接端口(默认2181),可自定义但需确保端口未被占用。 其他参数如tickTime(心间隔)、initLimit(初始化超时时间)可按需调整。 启动服务: Linux:执行./bin/zkServer.sh start启动服务,通过status令查看运行状态(单机模式显示standalone)。 Windows:运行zkServer.cmd 启动服务,若遇Ja版本错误,需在zkEnv.cmd 中手动指定JAVA_HOME路径。 客户端连接验证:执行./bin/zkCli.sh -server 127.0.0.1:2181(Linux)或zkCli.cmd (Windows),使用ls /令查看根节点,确认服务正常运行。148
配置文件准备:进入conf目录,默认配置文件zoo_sample.cfg 并重名为zoo.cfg 。通过文本编辑器修改以下心参数: dataDir:指定数据存储目录(如/opt/zookeeper/zkdata或D:\zookeeper\data),需手动创建该目录。 clientPort:客户端连接端口(默认2181),可自定义但需确保端口未被占用。 其他参数如tickTime(心间隔)、initLimit(初始化超时时间)可按需调整。
配置文件准备:进入conf目录,默认配置文件zoo_sample.cfg 并重名为zoo.cfg 。通过文本编辑器修改以下心参数:
防火墙与端口
防火墙与端口:确保各节点间的通信端口(如2888、3888)开放,因问题导致选举失败。
防火墙配置
防火墙配置:集群部署时需关闭防火墙或开放相关端口,确保节点间通信正常。458
集群模式部署
相关问答
还木有评论哦,快来抢沙发吧~