关于一个小白在学习Linux时无法启动zookeeper的那些事儿

2023-05-16

zookeeper介绍:

zookeeper,是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。不论是大数据领域亦或是其它服务器开发领域,只要是涉及到分布式状态一致性的场景,总有它的身影存在。

过程简介

我跟着课程视频和课件文档去部署zookeeper,这是我学习Linux部署的第一个集群化软件,以下是简要过程。

1、下载zookeeper安装包并解压安装:

http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz

2、修改配置文件:zoo_sample.cfg和myid

zoo_sample.cfg配置文件修改如下:

tickTime=2000
dataDir=/export/server/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2

server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888

myid文件内写入1

3、分发配置后本体:

scp -r apache-zookeeper-3.5.9 ip2:`pwd`/

scp -r apache-zookeeper-3.5.9 ip3:`pwd`/

4、在ip2和ip3上修改myid标识文件:内容分别为2和3

5、使用安装目录中bin目录中的可执行bash脚本文件zkServer.sh启动zookeeper

./bin/zkServer.sh start

6、使用jps命令检查QuorumPeerMain进程是否启动


遇到的问题:在第5步启动zookeeper时无法启动

解决过程:(序号为解法)

起初我没看报错信息(解决问题的关键就是看报错信息!),从上到下排除可能出错的地方,最有可能的就是配置文件的地方出问题,于是我去配置文件的地方按照样板仔细对照是不是那个地方书写错误(配置文件出问题的几率最大 特别是手打时 手一块 眼一花就打错),

1、别说,还真是我配置文件时把根目录/按成旁边的英文句号.,当时我就把这改过来(当然 还不能忘了分发过去的文件也要修改!)

改了后重试去启动,仍然不得行,我就反复检查配置文件哪里出了问题,检查了好多遍,重试了好多遍,实在不行,我就在里面到处逛,看是哪个文件或目录有问题

2、然后我就发现了zoo.cfg文件里的dataDir对应目录下的zookeeper_server.pid文件,我有印象这个在启动前是没有的(确实是启动后产生的缓存垃圾文件 删掉应该会有用),然后我感觉是这个的问题,有点小激动,删了后重试,哦豁!还是不行……

最后没法了,搞烦了,使用面向scdn方法(浏览器查询)

3、我找到一个解法,可能是防火墙未关闭,导致zookeeper默认使用的2181端口未对外开放,于是使用systemctl status firewalld查看防火墙状态,哦豁!是关闭的,还是不行……但是我又看到个帖说把防火墙打开又关闭然后重启虚拟机又可以,荒诞但是可能有用(荒诞指开启又关闭 但重启确实能解决80%的问题 另外20%就是用户的问题),哦豁!还是不行……

systemctl status firewalld

4、同帖有第二个解法:既然防火墙关闭,端口放开,如果是端口用不了的问题,就可能是被占用了,使用netstat -anp | grep 2181去查找占用的进程及其PID(进程号),然后用kill结束进程

netstat -anp | grep 2181
kill -9 PID

然鹅,我压根找不到2181端口,但是我已经坚信是端口的问题,觉得可能是隐藏起来了,还去找让所有端口的显示的命令,但是方向错了,根本不可能有结果,那时已经给我搞到晚上十二点半了,于是我开摆了,睡觉

5、后面第二天一直搞到下午,我实在没法了,全部相关文件三光光,跟着课程文档步骤重装,配置文件时也是怕出错,然后直接复制过来(记住这个复制),哦豁!还是不行……

6、蚌埠住了,只得请教一个老师,TA教我上面的一些方法去试试,我试了还是不得行,最后TA让我给TA看报错信息(我才翻译了下 是配置问题),然后让我去检查配置文件中是否有多余空格,然后我就知道问题了。就是这个空格,这个可恶的、会被复制过来的空格!!!

(代码千万条,安全第一条,copy不规范,debug两行泪)

在此提醒大家复制时 千万要清楚复制的是个啥 复制个bug过来那就得不偿失了

以下是我通过网页信息查找总结出zookeeper启动不了可能出现的问题:

1、检查配置文件是否配置正确 若没有配置文件那个名字要先把这个名字改过去(文件本质是一样的)
原名:/export/server/zookeeper/conf/zoo_sample.cfg
配置文件名:/export/server/zookeeper/conf/zoo.cfg
改名:mv /export/server/zookeeper/conf/zoo_sample.cfg /export/server/zookeeper/conf/zoo.cfg

需配置的内容:
tickTime=2000
dataDir=/export/server/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2

server.1=IP:2888:3888
server.2=IP:2888:3888
server.3=IP:2888:3888

2、关闭防火墙
systemctl stop firewalld

3、删除运行过的缓存文件
把zoo.cfg文件里的dataDir对应目录下的version-2文件夹和zookeeper_server.pid文件删除掉

4、检查zookeeper默认使用的端口2181是否开放(未被其他进程占用)
netstat -anp | grep 2181
若被占用了 使用kill关闭那个占用该端口的进程
kill -9 PID

5、以上问题都解决不了 就重启开机 按步骤仔细重装zookeeper(手打配置文件)

各位若有什么补充的欢迎留言!(大佬求带~)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于一个小白在学习Linux时无法启动zookeeper的那些事儿 的相关文章

  • Ubuntu20.04下基于ROS和PX4的无人机仿真平台的基础配置搭建(我所遇到的问题)

    写在前面 xff1a 我目前也处于学习阶段 xff0c 当时按照ROS教程安装的20 04 xff0c 随后搭建XTDrone阶段因为版本问题出现了很多问题 xff0c 这是我根据问题 xff0c 检索后汇总的一些解决措施 本文中提到的问题
  • for 循环无限循环ing....

    题目没思路 xff0c 有思路无法各种错误 xff0c 基础不牢 xff0c 程序的本质理解不透彻 头疼
  • ER图学习笔记(附各个图型的举例,实战案例)

    ER图常用图形如下 xff1a ER图图形含义详解 实体 xff08 长方体 xff09 xff1a 实体字面意思就是实际存在的 xff0c 例如商品 xff0c 货物 xff0c 用户 属性 xff08 椭圆 xff09 xff1a 属性
  • Visual Stdio 2022 C语言源文件调试教程

    下面是一个简单的C语言程序 xff0c 我将以它为例说明如何进行VS2022调试 include lt stdio h gt int main int a b sum a float x y sum b scanf s 34 d d 34
  • 选择排序法和冒泡排序法的比较

    本篇以对元素从小到大有序排列为例 xff0c 比较了选择排序法和冒泡排序法的相同点和不同点 同 xff1a 1 循环结构相同 xff1a 均采用了与i有关的for循环和与j有关的for循环的双层嵌套模式 2 最后结果相同 xff1a 均实现
  • Npm包管理版本机制

    Npm是什么 npm是世界上上 xff0c 使用最广泛的软件管理工具 xff0c 是运行时 Node js 的默认程序包管理器 NPM版本机制 版本号规范 npm是通过版本机制来解决的依赖机制 npm的规范的标准版本号采用 X Y Z 的格
  • to String语句的作用和用法

    在 Java 中 xff0c toString 方法是 Object 类中的一个方法 xff0c 用于返回对象的字符串表示 当我们打印一个对象时 xff0c 实际上是调用了该对象的 toString 方法 如果没有重写该方法 xff0c 将
  • KVM 环境搭建(Base on Ubuntu)

    Kernel based Virtual Machine的简称 xff0c 是一个开源的系统虚拟化模块 xff0c 自Linux 2 6 20之后集成在Linux的各个主要发行版本中 Use the latest kernel of the
  • 为什么这里的int型指针变量为8字节

    include lt stdio h gt void test1 int main test1 return 0 void test1 int num 61 100 取变量地址用 amp amp num代表标量的num的起始地址 print
  • C语言字符查找

    include lt string h gt include lt stdio h gt int main void char string 101 gets string char ptr c scanf 34 c 34 amp c pt
  • 使用vs2022遇到的一些问题

    小白的C语言之路 目录 前言 一 vs2022是什么 xff1f 二 我遇到的几个问题 1 字体调整在哪呢 xff1f 2 同一个项目中练习 xff0c 建立了多个源文件怎么办 xff1f 3 不小心关掉了错误列表 xff0c 解决方案资源
  • strtok函数的模拟实现

    本篇文章属于C语言初阶内容 xff0c 请各位读者选择阅读 目录 1 strtok函数 1 1 strtok函数的说明 1 2 strtok函数的模拟实现 1 strtok函数 1 1strtok函数的说明 首先我们来看strtok函数的定
  • Linux权限 - 概念与管理 | 文件权限的修改与转让 【详解】

    目录 Linux权限 Linux权限的概念 Linux权限的基础操作 1 实现用户账号的切换 2 仅提升当前指令的权限 Linux权限管理 1 文件访问者的分类 xff08 人 xff09 2 文件类型和访问权限 xff08 事物属性 xf
  • acwing蓝桥杯 - 数学知识【上】

    目录 质数 试除法判定质数 分解质因数 筛质数 约数 试除法求约数 约数个数 约数之和 最大公约数 质数 试除法判定质数 这个算法广为人知 xff0c 这里就不证明了 xff0c 解释一下 i lt 61 n 的写法 1 不推荐写成i lt
  • 蓝桥杯AcWing 题目题解 - 递归与递推

    目录 AcWing 92 递归实现指数型枚举 AcWing 93 递归实现组合型枚举 AcWing 94 递归实现排列型枚举 AcWing 1209 带分数 AcWing 1208 翻硬币 AcWing 92 递归实现指数型枚举 从1 xf
  • 蓝桥杯AcWing 题目题解 - 二分与前缀和、差分

    目录 AcWing 789 数的范围 整数二分 AcWing 790 数的三次方根 实数二分 AcWing 730 机器人跳跃问题 二分应用 AcWing 1227 分巧克力 AcWing 795 前缀和 AcWing 796 子矩阵的和
  • acwing蓝桥杯 - 数学知识【下】

    目录 欧拉函数 快速幂 求组合数 I 博弈论 Nim游戏 欧拉函数 在数论 xff0c 对正整数n xff0c 欧拉函数是小于n的正整数中与n互质的数的数目 xff0c 记作 n 1 61 1 1 分解质因子 xff0c 求出质因子p 2
  • 搜索与图论 - 搜索与图在算法中的应用【上】

    目录 DFS 排列数字 n 皇后问题 BFS 走迷宫 八数码 树与图的深度优先遍历 数的重心 树与图的广度优先遍历 图中点的层次 拓扑排序 有向图的拓扑序列 DFS 排列数字 include lt iostream gt using nam
  • cmake 设置vs工程的MT、MTd

    1 追加CMAKE CXX FLAGS Build Type span class hljs keyword set span CMAKE CXX FLAGS RELEASE span class hljs string 34 span c
  • 搜索与图论 - 搜索与图在算法中的应用【中】

    目录 迪杰斯特拉算法Dijkstra Dijkstra求最短路 I Dijkstra求最短路 II 贝尔曼 福特算法 bellman ford 有边数限制的最短路 SPFA算法 spfa求最短路 spfa判断负环 Floyd Floyd求最

随机推荐

  • 【创作赢红包】项目信息分析表

    项目的背景和问题 项目背景 xff1a 很多父母 都希望他们的孩子成为优秀的人 xff0c 但是在实践中 xff0c 他们的教育方式往往会出现一些与期望不符的情况 这可能是因为这些父母很大程度上是按照自己的父母的教育方式来教育孩子的 xff
  • 数据结构__<八大排序> __插入排序 |希尔排序 |选择排序 |堆排序 |快速排序 |归并排序(C语言实现)

    目录 插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 hoare法 挖坑法 前后指针法 快排特性总结 三数取中优化 小区间优化 快排非递归 归并排序 归并排序非递归 计数排序 总结 OJ测试 前言目录 插入排序 直接插入排序 vo
  • 算法训练营 - 广度优先BFS

    目录 从层序遍历开始 N 叉树的层序遍历 经典BFS最短路模板 经典C 43 43 queue 数组模拟队列 打印路径 示例1 bfs查找所有连接方块 C 43 43 queue版 数组模拟队列 示例2 从多个位置同时开始BFS 示例3 抽
  • 在外web浏览器远程访问jupyter notebook服务器【内网穿透】

    文章目录 前言视频教程1 Python环境安装2 Jupyter 安装3 启动Jupyter Notebook4 远程访问4 1 安装配置cpolar内网穿透4 2 创建隧道映射本地端口 5 固定公网地址 转载自远控源码文章 xff1a 公
  • Linux入门 - 最常用基础指令汇总

    目录 ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令 amp amp rm 指令 man指令 xff08 重要 xff09 cp指令 xff08 重要 xff09 mv指令 xff08 重要 xff09 ca
  • 微信公众号本地开发调试 - 无公网IP,内网穿透

    文章目录 前言1 配置本地服务器2 内网穿透2 1 下载安装cpolar内网穿透2 2 创建隧道 3 测试公网访问4 固定域名4 1 保留一个二级子域名4 2 配置二级子域名 5 使用固定二级子域名进行微信开发 前言 在微信公众号开发中 x
  • Linux服务使用宝塔面板搭建网站,并发布公网访问 - 内网穿透(1)

    文章目录 前言1 环境安装2 安装cpolar内网穿透3 内网穿透4 固定http地址5 配置二级子域名6 创建一个测试页面 转载自远程内网穿透的文章 xff1a Linux使用宝塔面板搭建网站 xff0c 并内网穿透实现公网访问 前言 宝
  • Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具

    目录 Linux 软件包管理器 yum 一 yum 背景知识 二 yum 的基本使用 1 查看软件包 2 软件包名称构成 3 安装软件 4 卸载软件 vim编辑器 一 认识vim 1 vim概念 2 模式及其切换 二 vim使用 1 vim
  • 更好地提问ChatGPT_常用prompt表

    对常见的用途 xff0c 记录该表以便获得ChatGPT更高质量的回复 类别目的提问方式要点文案写作周报 日报 年终总结本周我做了以下几件事情 xff1a 出差客户办事处 交流演示 初步数据分析 请帮我写一份周报要点形式列举工作内容 可以说
  • git clone、git pull和git fetch的用法及区别

    git clone git pull和git fetch的用法及区别 1 git clone2 git pull3 git fetch 更新远程代码到本地仓库 1 git clone git clone顾名思义就是将其他仓库克隆到本地 xf
  • 缩略图显示

    首先将你的 CListCtrl 风格设置为ICON风格 CImageList m ImageList CListCtrl m list m list SetExtendedStyle LVS EX FULLROWSELECT LVS EX
  • 【AndroidStudio的那些大坑】Connection refused: connect报错

    电脑重装系统导致AndroidStudio之前下载的gradle文件被清空了 xff0c 然后打开AndroidStudio需要重新下载gradle 可是不知道怎么的 xff0c 一直显示Connection refused connect
  • 远程访问本地jupyter notebook服务 - 无公网IP端口映射

    文章目录 前言视频教程1 Python环境安装2 Jupyter 安装3 启动Jupyter Notebook4 远程访问4 1 安装配置cpolar内网穿透4 2 创建隧道映射本地端口 5 固定公网地址 转载自远控源码文章 xff1a 公
  • 数据库markdown版ppt生成

    产品 核心用户界面 提供注册和登录功能 xff0c 区分家长 咨询师 管理员身份针对不同身份提供不同的功能入口为家长提供家庭教育资源 家庭教育咨询 家长论坛等功能为咨询师提供回答家长问题 管理个人信息等功能为管理员提供管理用户 管理咨询问题
  • 【Linux】版本管理工具 Git

    目录 一 什么是 Git 二 如何使用 Git 1 创建远程仓库 2 将远端仓库克隆到本地 3 将本地文件添加到仓库 3 1 三板斧第一招 xff1a 文件添加 3 2 三板斧第二招 xff1a 提交本地 3 3 三板斧第三招 xff1a
  • 整型数组有结束标志吗?

    答案是 xff1a 没有 整型数组在声明或者定义时 xff0c 它的大小就已经确定了 比如 xff1a int arr 61 1 2 3 4 5 那么它的长度就是5 xff1b int arr 10 61 1 2 3 4 5 它的长度就是1
  • linux系统编程---进程:exec族和fork配合使用---学习和记录(七)

    为什么要创建子进程 xff1a 1 一个父进程希望复制自己 xff0c 使父 xff0c 子进程同时执行不同的代码段 xff0c 这在网络服务进程中是常见的 父进程等待客户端的服务请求 当这种请求到达时 xff0c 父进程调用fork xf
  • Ubuntu设置清华源(学习内容记录)

    本文为自己安装记录回顾用 下面的是ubuntu20 04Ubuntu 更换镜像源 Ubuntu默认的服务器是在国外 xff0c 连接很慢 更换成国内的镜像源 xff0c 使用清华镜像源 xff0c 连接就会快一点 下面介绍更换清华镜像源的方
  • 安卓学习内容记录(笔记,供学习回溯)

    安卓工程中那些文件被称为资源文件 转载于https zhuanlan zhihu com p 415494152 目录资源类型animator 用于定义属性动画的 XML 文件anim 用于定义渐变动画的 XML 文件 xff08 属性动画
  • 关于一个小白在学习Linux时无法启动zookeeper的那些事儿

    zookeeper介绍 xff1a zookeeper xff0c 是一个为分布式应用提供一致性服务的软件 xff0c 提供的功能包括 xff1a 配置维护 域名服务 分布式同步 组服务等 不论是大数据领域亦或是其它服务器开发领域 xff0