zookeeper linux分布式部署
安装包下载地址:http://mirror.bit.edu.cn/apache/zookeeper,记住要下载那个bin的不要下tar.gz包不然即使你安装了也会报错误: 找不到或无法加载主类org.apache.zookeeper.server.quorum.QuorumPeerMain,你安装了也无法起来zk
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
注意:在安装zk之前请先确保要部署的三台机器均已经安装JDK.
zk服务治理实现模型: 注册中心,生产者,消费者,注册中心注册了关于生产消费者的所有信息简单来说就是想要实现治理服务,必须要知道哪台机器提供什么服务,该找谁,也就ip映射服务之间的映射关系是怎样的,
zk通过心跳机制可以检测挂掉的机器并将挂掉机器的ip和服务对应关系从列表中删除
tar -xvf apache-zookeeper-3.5.6.tar.gz && cd apache-zookeeper-3.5.6.tar.gz/conf
将zoo_sample.cfg这个文件复制为zoo.cfg (必须是这个文件名):
cp zoo_sample.cfg zoo.cfg
zoo.cfg参数解释:
打开zoo.cfg,可以看到默认的一些配置。
- tickTime
时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2 * tickTime是客户端会话的超时时间。
tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。 - clientPort
zk服务进程监听的TCP端口,默认情况下,服务端会监听端口。 - dataDir
无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录;注意:如果想配置集群的话,请在clientPort下面添加服务器的ip
注意:如果想配置集群的话,请在clientPort下面添加服务器的ip
server.1=192.168.110.151:2888:3888
server.2=192.168.110.152:2888:3888
server.3=192.168.110.153:2888:3888
vim zoo.cfg
修改此三处:

接下来和重要的一步:
在每台机器刚才zoo.cfg dataDir路径下的data目录下创建myid :
touch myid
echo 1 > myid 这句在192.168.110.151执行
echo 2 > myid 这句在192.168.110.152
echo 3 > myid 这句在192.168.110.153
这里的1,2,3其实就是server.后面带的1,2,3标识符你也可以自己起别的:
server.1=192.168.110.151:2888:3888
server.2=192.168.110.152:2888:3888
server.3=192.168.110.153:2888:3888
在创建完后配置zk 环境以及配置的环境变量告诉zk 引用config 下刚才你cp 的zoo.cfg配置,这个执行命令行执行也可以,直接配置到/ect/profile也可以,如果这样记得source 激活
export ZOOKEEPER_INSTALL=/usr/local/apache-zookeeper-3.5.5-bin
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
以上操作每台机器都要来一遍
此外还要关闭防火墙或者开放zkport这里为了节省步骤我直接关闭防火墙了:
systemctl stop firewalld
最后逐个启动每台机器:
cd usr/local/apache-zookeeper-3.5.5-bin/bin
执行:
sh zkServer.sh start
启动状态查看:
sh zkServer.sh status

follower:


如果启动失败就是这个myid 文件不存在导致的在logs目录下可以看见错误提示:
失败错误提示:
[root@hostuser3 bin]# sh zkServer.sh start
/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Starting zookeeper ... FAILED TO START
日志错误提示:
root@hostuser3 logs]# ll
total 4
-rw-r--r--. 1 root root 1385 Jan 4 23:42 zookeeper-root-server-hostuser3.out
[root@hostuser3 logs]# cat zookeeper-root-server-hostuser3.out
2020-01-04 23:42:30,720 [myid:] - INFO [main:QuorumPeerConfig@133] - Reading configuration from: /usr/local/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
2020-01-04 23:42:30,726 [myid:] - INFO [main:QuorumPeerConfig@385] - clientPortAddress is 0.0.0.0/0.0.0.0:2181
2020-01-04 23:42:30,726 [myid:] - INFO [main:QuorumPeerConfig@389] - secureClientPort is not set
2020-01-04 23:42:30,730 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /usr/local/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:154)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:113)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
Caused by: java.lang.IllegalArgumentException: myid file is missing
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.checkValidity(QuorumPeerConfig.java:734)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupQuorumPeerConfig(QuorumPeerConfig.java:605)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:420)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:150)
... 2 more
Invalid config, exiting abnormally
zookeeper linux分布式部署的更多相关文章
- Hadoop生态圈-zookeeper完全分布式部署
Hadoop生态圈-zookeeper完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客部署是建立在Hadoop高可用基础之上的,关于Hadoop高可用部署请参 ...
- Zookeeper 伪分布式部署
Zookeeper 可以通过配置不同的配置文件启动 部署环境:CentOS 6.7 Zookeeper 路径: /opt/htools/zookeeper-3.4.6 操作步骤: 1 复制三份zoo. ...
- 分布式协调服务之Zookeeper集群部署
一.分布式系统概念 在聊Zookeeper之前,我们先来聊聊什么是分布式系统:所谓分布式系统就是一个系统的软件或硬件组件分布在网络中的不同计算机之上,彼此间通过消息传递进行通信和协作的系统:简单讲就是 ...
- zookeeper分布式部署方案
版本:http://apache.fayea.com/zookeeper/zookeeper-3.4.8/环境:debian 7/8说明:最低配置3台步骤:1.下载zookeeper-3.4.8并解压 ...
- jemter分布式部署及linux下分布式脚本执行
jmeter进行接口性能测试,占用内存较大,在模拟千万计并发用户时,使用分布式部署进行分压测试. 操作步骤:选择一台机器作为调度机,其他机器作为执行机 一.jmeter分布式部署 前提条件:A.执行机 ...
- Centos6下zookeeper集群部署记录
ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目的 最终一致性:client不论 ...
- dubbo + zookeeper 简介和部署
Dubbo简介: Dubbo 是阿里巴巴公司开源(以前不开源)的一个高性能优秀的服务框架, 使得应用可通过高性能的 RPC 实现服务的输入和输出功能, 可以和spring框架无缝集成. 那么这里, 啥 ...
- Hadoop生态圈-Kafka的完全分布式部署
Hadoop生态圈-Kafka的完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要内容就是搭建Kafka完全分布式,它是在kafka本地模式(https:/ ...
- Zookeeper安装和部署
Zookeeper安装和部署:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...
随机推荐
- 回文串--Manacher算法(模板)
用途:在O(n)时间内,求出以每一个点为中心的回文串长度. 首先,有一个非常巧妙的转化.由于回文串长度有可能为奇数也有可能为偶数,说明回文中心不一定在一个字符上.所以要将字符串做如下处理:在每两个字母 ...
- JS添加和删除表格行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- div中宽高度自适应文字换行居中问题解决
<html> <head> <meta charset="UTF-8"/> <title>div中宽高度自适应文字换行居中demo& ...
- 【Unity|C#】基础篇(18)——正则表达式(Regex类)
[学习资料] <C#图解教程>:https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.com/s/ ...
- linux-redis cluster集群(redis5.x)
1.查看redis安装目录: [root@iZwz97y9qoykzzotubitq3Z redis-5.0.5]# lltotal 472-rw-rw-r-- 1 root root 106874 ...
- Sql注入之注入点类型和是否存在注入判断
SQL注入之判断注入类型注入类型分为数字型和字符型和搜索型例如数字型语句:select * from table where id =3,则字符型如下:select * from table wher ...
- 给IDEA添加右键打开功能
添加文件夹右键程序打开 开始运行regedit 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell 1.右键shell目录新建项Idea 2. ...
- C语言strcat()函数:字符串连接(拼接)
C语言strcat()函数:字符串连接(拼接) C语言 strcat() 函数用来将两个字符串连接(拼接)起来. 头文件:string.h 语法/原型: char*strcat(char* str ...
- php中多图上传采用数组差集处理(array_diff,array_map)
//删除旧有的图片 //新增数组 $arr2=array(); //原有数组 $old_pics = ReportPic::find()->where(['report_id' => $i ...
- 浅析State-Thread
State-Thread(以下简称st),是一个由C语言编写的小巧.简洁却高效的开源协程库.这个库基于单线程运作.不强制占用用户线程,给予了开发者最大程度的轻量级和较低的侵入性.本篇文章中,网易云信音 ...