zookeeper基本配置以及一些坑
配置
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基本配置以及一些坑的更多相关文章
- ZooKeeper系列1:ZooKeeper的配置
问题导读:1.zookeeper有哪些配置文件?2.zookeeper最低配置需要哪些配置项?3.zookeeper高级配置需要配置哪些项? ZooKeeper 的功能特性通过 ZooKeeper 配 ...
- ZooKeeper学习第二期--ZooKeeper安装配置
一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境:■ 伪集群模式:就是在一台物 ...
- Zookeeper系列一:Zookeeper介绍、Zookeeper安装配置、ZK Shell的使用
https://www.cnblogs.com/leeSmall/p/9563547.html 一.Zookeeper介绍 1. 介绍Zookeeper之前先来介绍一下分布式 1.1 分布式主要是下面 ...
- 【Zookeeper系列】ZooKeeper安装配置(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...
- Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心
一.Zookeeper实现分布式锁 分布式锁主要用于在分布式环境中保证数据的一致性. 包括跨进程.跨机器.跨网络导致共享资源不一致的问题. 1. 分布式锁的实现思路 说明: 这种实现会有一个缺点,即当 ...
- 【转载】ZooKeeper学习第二期--ZooKeeper安装配置
原文地址(https://www.cnblogs.com/sunddenly/p/4018459.html) 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及 ...
- 搞懂分布式技术5:Zookeeper的配置与集群管理实战
搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooK ...
- zk 05之:ZooKeeper的配置
ZooKeeper 的功能特性通过 ZooKeeper 配置文件来进行控制管理( zoo.cfg 配置文件). ZooKeeper 这样的设计其实是有它自身的原因的.通过前面对 ZooKeeper 的 ...
- 使用ZooKeeper实现配置同步(转)
前言 应用项目中都会有一些配置信息,这些配置信息数据量少,一般会保存到内存.文件或者数据库,有时候需要动态更新.当需要在多个应用服务器中修改这些配置文件时,需要做到快速.简单.不停止应用服务器的方式修 ...
随机推荐
- 3-Pandas之什么是Panel?
一.什么是Panel Series:包含一维索引的一组数据 DataFrame:包含index和columns两个轴 Panel(面板):一种三维数据容器 一个Panel对象由3个轴构成: items ...
- Python os.unlink() 方法
概述 os.unlink() 方法用于删除文件,如果文件是一个目录则返回一个错误.高佣联盟 www.cgewang.com 语法 unlink()方法语法格式如下: os.unlink(path) 参 ...
- 最新 laravel5.8 连接redis集群
简介 Redis 是一个开源的,高级键值对存储数据库.由于它包含 字符串 , 哈希 , 列表 , 集合 , 和 有序集合 这些数据类型,所以它通常被称为数据结构服务器. 在使用 Laravel 的 R ...
- 5.20 省选模拟赛 T1 图 启发式合并 线段树合并 染色计数问题
LINK:图 在说这道题之前吐槽一下今天的日子 520 = 1+1+4+514. /cy 这道题今天做的非常失败 一点分都没拿到手 关键是今天的T3 把我整个人给搞崩了. 先考虑 如果得到了这么一张图 ...
- bzoj 1515 [POI2006]Lis-The Postman 有向图欧拉回路
LINK:Lis-The Postman 看完题觉得 虽然容易发现是有向图欧拉回路 但是觉得很难解决这个问题. 先分析一下有向图的欧拉回路:充要条件 图中每个点的入度-出度=0且整张图是一个强连通分量 ...
- CF R 633 div 1 1338 C. Perfect Triples 打表找规律
LINK:Perfect Triples 初看这道题 一脸懵逼.. 完全没有思路 最多就只是发现一点小规律 即. a<b<c. 且b的最大的二进制位一定严格大于a b的最大二进制位一定等于 ...
- JavaWeb基础Day17 (JSP EL表达式 jstl标签库 beanutil工具类)
JSP jsp的实质就是指在html界面中嵌入Java代码 jsp脚本 <% Java代码 %> 相当于写在service方法中. <%=java 变量或者表达式 %> ...
- 《分享》Koa2源码分析
曾经在公司内部做的一起关于koa源码的分享,希望对你有帮助: koa2 源码分析整理 koa2(2.4.1版本)源码主要包含四个js,包括application.js, context.js, req ...
- Swap常用操作与性能测试
Swap分区通常被称为交换分区,这块儿分区位于硬盘的某个位置,当系统内存(物理内存)不够用的时候,如果开启了交换分区,部分内存里面暂时不用的数据就会Swap out(换出)到这块儿分区:当系统要使用这 ...
- Linux系统中玩到让你停不下来的命令行游戏!
大家好,我是良许. 在使用 Linux 系统时,命令行不仅可以让我们在工作中提高效率,它还可以在生活上给我们提供各种娱乐活动,因为你可以使用它玩许多非常有意思的游戏,这些游戏可都不需要使用专用显卡. ...