配置

1. 解压安装包:tar zxvf zookeeper-3.4.14.tar.gz

2. 修改zookeeper配置:

#Master

cd zookeeper-3.4.14

#创建日志文件夹及数据文件夹

mkdir data

mkdir log

#修改配置

cd conf

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg

dataDir=/usr/local/src/zookeeper-3.4.14/data

dataLogDir=/usr/local/src/zookeeper-3.4.14/log

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

master、slave1、slave2 都是这样配,不需要改 ip 和 port

3. 配置环境变量

#Master、Slave1、Slave2

vim ~/.bashrc

ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.14

PATH=$PATH:$ZOOKEEPER_HOME/bin

#刷新环境变量

source ~/.bashrc

4. 拷贝安装包

#Master

scp -r /usr/local/src/zookeeper-3.4.14 root@slave1:/usr/local/src/zookeeper-3.4.14

scp -r /usr/local/src/zookeeper-3.4.14 root@slave2:/usr/local/src/zookeeper-3.4.14

5. 分别添加ID

#Master

echo "1" > /usr/local/src/zookeeper-3.4.14/data/myid

#Slave1

echo "2" > /usr/local/src/zookeeper-3.4.14/data/myid

#Slave2

echo "3" > /usr/local/src/zookeeper-3.4.14/data/myid

6. 启动Zookeeper服务

zkServer.sh start

7. 查看运行状态

zkServer.sh status

尴尬的事情出现了:

报错原因:

Error contacting service. It is probably not running.

Error contacting service. It is probably not running.

Error contacting service. It is probably not running.

解决办法:

网上有很多解决方案,无非都是抄来抄去,并没有卵用。

我把有用的贴在这里:

1. 检查端口占用:

netstat -apn | grep 2181

如果有输出结果,就kill -9 :

kill -9 6211

2. 关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

3.最重要的一步:

删除配置在dataDir目录下的zookeeper.pid文件

这个是罪魁祸首,干掉它:rm -rf zookeeper_server.pid

这个是输出的日志文件,眼不见心不烦,一起干掉:rm -rf zookeeper.out

然后重启zkServer:

zkServer.sh stop

zkServer.sh start

最后,终于成功了!

zkServer.sh status

master 不是 leader,并不重要,这是zk的选举机制,要是leader挂掉了,会有一个 follower 成为 leader,我们暂时就不操这心了。

ps.有些博客还是会说人话的,总算找到有用的解决方案了。

zookeeper基本配置以及一些坑的更多相关文章

  1. ZooKeeper系列1:ZooKeeper的配置

    问题导读:1.zookeeper有哪些配置文件?2.zookeeper最低配置需要哪些配置项?3.zookeeper高级配置需要配置哪些项? ZooKeeper 的功能特性通过 ZooKeeper 配 ...

  2. ZooKeeper学习第二期--ZooKeeper安装配置

    一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境:■ 伪集群模式:就是在一台物 ...

  3. Zookeeper系列一:Zookeeper介绍、Zookeeper安装配置、ZK Shell的使用

    https://www.cnblogs.com/leeSmall/p/9563547.html 一.Zookeeper介绍 1. 介绍Zookeeper之前先来介绍一下分布式 1.1 分布式主要是下面 ...

  4. 【Zookeeper系列】ZooKeeper安装配置(转)

    原文链接:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...

  5. Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心

    一.Zookeeper实现分布式锁 分布式锁主要用于在分布式环境中保证数据的一致性. 包括跨进程.跨机器.跨网络导致共享资源不一致的问题. 1. 分布式锁的实现思路 说明: 这种实现会有一个缺点,即当 ...

  6. 【转载】ZooKeeper学习第二期--ZooKeeper安装配置

    原文地址(https://www.cnblogs.com/sunddenly/p/4018459.html) 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及 ...

  7. 搞懂分布式技术5:Zookeeper的配置与集群管理实战

    搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooK ...

  8. zk 05之:ZooKeeper的配置

    ZooKeeper 的功能特性通过 ZooKeeper 配置文件来进行控制管理( zoo.cfg 配置文件). ZooKeeper 这样的设计其实是有它自身的原因的.通过前面对 ZooKeeper 的 ...

  9. 使用ZooKeeper实现配置同步(转)

    前言 应用项目中都会有一些配置信息,这些配置信息数据量少,一般会保存到内存.文件或者数据库,有时候需要动态更新.当需要在多个应用服务器中修改这些配置文件时,需要做到快速.简单.不停止应用服务器的方式修 ...

随机推荐

  1. Day03_企业权限管理(SSM整合)

    学于黑马程序员和传智播客联合做的教学项目 感谢 黑马程序员官网 传智播客官网 个人根据教程的每天的工作进度的代码和资料 密码:cti5 b站在线视频 微信搜索"艺术行者",关注并回 ...

  2. matplotlib基础汇总_01

    灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...

  3. Python List list()方法

    描述 list() 方法用于将元组转换为列表.高佣联盟 www.cgewang.com 注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中. 语法 list ...

  4. PHP atanh() 函数

    实例 返回不同数的反双曲正切: <?phpecho(atanh(M_PI_4) . "<br>");echo(atanh(0.50) . "<br ...

  5. 为什么 2020 还要学 Node.js

    更佳阅读体验 https://www.yuque.com/sunluyong/node 前言 前些日子刷知乎看到个 2019 年初的问题 2019年nodejs凉了吗?凉到什么程度了?才看到问题的时候 ...

  6. SpringBoot+Dynamic多数据源动态切换

    最近做了个小模块,需求就是项目同时读取三个数据库,操作数据.并不是分库分表,只用定时跑,不需要对外提供接口. 技术选型:SpringBoot + Mybatis Plus(Mybatis) + Dyn ...

  7. django--各个文件的含义

    当你创建项目或者应用后你是不是发现多了很多个文件,现在我们来看看各代表什么意思 与你项目名相同的文件夹:是项目的管理功能目录,这个目录的名称因用户所创建的项目名称的不同而不同 在该目录下还有四个文件: ...

  8. 会话机制,Cookie和Session详解

    转载自:https://www.cnblogs.com/whgk/p/6422391.html 很大一部分应该知道什么是会话机制,也能说的出几句,我也大概了解一点,但是学了之后几天不用,立马忘的一干二 ...

  9. 【av68676164(p21-p22)】线程

    4.3.1 线程概念 线程的概念(Thread) 线程是可由CPU直接运行的实体 一个进程可以创建多个线程 多个线程可共享CPU可以实现并发运行 CreateThread() 功能:把一个函数创建为一 ...

  10. java web工程导入jar包流程,容易犯错

    1)首先把jar包拷贝到WEB-INF/lib下 2)在Eclipse中web/WEB-INF/lib路径下刷新.(省略此步骤就会找不到) 3)Java Build Path中Remove掉Web A ...