CentOS 7安装Zookeeper

news/2024/5/17 13:48:52

说明:本文介绍如何在CentOS 7操作系统下使用Zookeeper

下载安装

首先,去官网下载所需要安装的版本,我这里下载3.4.9版本;

在这里插入图片描述

上传到云服务器上,解压

在这里插入图片描述

tar -xvf zookeeper-3.4.9.tar.gz

在这里插入图片描述

修改配置

进入Zookeeper目录下的conf目录,拷贝一份样例配置文件,命名为zoo.cfg,作为配置文件;

在这里插入图片描述

修改配置文件内容,如下:

在这里插入图片描述

主要修改以上三项配置:

  • dataDir:Zookeeper的数据目录,默认是根目录下的tmp文件夹,修改到我们Zookeeper安装目录下的tmp文件夹比较好;

  • dataLogDir:Zookeeper的日志路径,默认没有设置,同上,我们设置到安装目录下的tmp文件夹里;

  • clientPort:Zookeeper服务的端口号,默认是2181,可根据自己需要修改;

修改完,保存退出;

启动测试

Zookeeper启动需要有Java环境,所以当前操作系统需要安装了JDK,可敲下面的命令查看是否已安装JDK;

java -version

我的服务器已安装过
在这里插入图片描述

如果没有安装,可参考下面的文章进行安装;

  • CentOS7下载安装JDK1.8

JDK11下载网址:https://www.oracle.com/cn/java/technologies/downloads/#java11

在这里插入图片描述

接着,来启动Zookeeper服务,进入Zookeeper安装目录下的bin目录。敲下面的命令启动Zookeeper服务器;

# 启动zk服务
sh ./zkServer.sh start

在这里插入图片描述

其他相关命令;

# 查看zk服务状态
sh ./zkServer.sh status# 停止zk服务
sh ./zkServer.sh stop# 重启zk服务
sh ./zkServer.sh restart

再启动Zookeeper客户端,在当前目录敲下面的命令启动Zookeeper客户端;

# 启动zk客户端sh ./zkCli.sh

出现下面的界面,即为启动成功,此时Zookeeper可被使用,可在项目配置文件中添加相关配置(ZK地址、端口)使用;

在这里插入图片描述

需要说明的是,如果需要被其他服务器连接,需关闭防火墙,或开放当前服务器的2181端口(即Zookeeper Client端口)

# 设置防火墙允许访问的端口
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent# 刷新防火墙配置
sudo firewall-cmd --reload

如果是阿里云服务器,还需在ECS控制台,安全组中开放2181端口

在这里插入图片描述

这里推荐一个Zookeeper视图化连接工具,PrettyZoo,如果项目中连接Zookeeper失败,可通过这个工具连接试一下,看是配置文件的问题还是Zookeeper服务的问题,导致连接失败。

在这里插入图片描述

使用

在这里插入图片描述

另外

如果启动Zookeeper服务器、客户端失败,查看日志出现下面的错误

  • 启动服务器:nohup: 无法运行命令"java": 没有那个文件或目录

  • 启动客户端:./zkCli.sh:行39: java: 未找到命令

需要在对应的可执行文件里,添加JDK环境变量。敲下面的命令,查看JDK环境变量;

# 查看JDK环境变量
cat /etc/profile

在这里插入图片描述

复制下来,添加到 zkServer.sh 或 zkCli.sh里;

在这里插入图片描述

总结

本文介绍了如何在CentOS 7中安装Zookeeper


http://www.mrgr.cn/p/41127433

相关文章

jenkins 启动linux节点时 控制台中文显示问号乱码

新增一个jenkins节点时,遇到了控制台中文输出问号的问题。 网上各种配置jenkins的全局变量,都不行。 最终是 节点列表 ->对应节点 -> 启动方式 -> 高级 添加JVM选项 -Dfile.encodingUTF-8

C语言 递归

递归指的是在函数的定义中使用函数自身的方法。 举个例子: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚&…

用python实现四则运算的生成与判定

小组成员:2252316,2252326点击查看代码 import randomdef generate_question():operators= [+, -, *, /]while 1:operator1 = random.choice(operators)operator2 = random.choice(operators)num1 = random.randint(1, 100)num2 = random.randint(1, 100)num3 = random.randi…

自己的事情自己做:使用 Python Turtle 绘制 Python Logo

以下代码中,将向你展示一个有趣的程序,如何使用 Python Turtle 中绘制 Python Logo。Python 翻译成汉语是蟒蛇的意思,Python 的 Logo 也是两条缠绕在一起的蟒蛇。 import turtlepen turtle.Turtle() turtle.bgcolor("black") pe…

2024年五一杯数学建模B题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

Ubuntu22.04 + ROS2 Humble的环境配置

Ubuntu22.04 ROS2 Humble的环境配置 文章目录 Ubuntu22.04 ROS2 Humble的环境配置(1) Set locale(2) Setup Sources(3)安装ROS2(4)检查是否成功安装 参考官方网站ROS2-Installation ROS2的各种版本及维护计划,可以参考ROS2-List of Distributions (1) Set locale…

Flattened Butterfly 扁平蝶形拓扑

Flattened Butterfly 扁平蝶形拓扑 1. 传统蝶形网络 Butterfly Topology2. 扁平蝶形拓扑 Flattened Butterfly3.On-Chip Flattened Butterfly 扁平蝶形拓扑应用于片上网络 Flattened Butterfly 扁平蝶形拓扑 扁平蝶形拓扑是一种经济高效的拓扑,适用于高基数路由器…

音乐盒组件Aplayer+Metingjs

Aplayer🍭 Wow, such a beautiful HTML5 music player(哇,好漂亮的HTML5音乐播放器) Aplayer是一个功能强大的HTML5音乐播放器 Aplayer官网文档:https://aplayer.js.org/#/MetingjsMetingjs基于Aplayer插件封装好的插件,开箱即用 Metingjs官网文档:https://github.com/me…

FebHost:谁可以注册.CA加拿大域名?

在加拿大,互联网域名的注册管理遵循一套独特的规则。特别是对于代表加拿大身份的顶级域名“.ca”,其申请和注册过程涉及一些严格的条件。这些条件确保了只有符合特定标准的个人或实体才能获得这一具有国家象征意义的网络地址。 首先,想要注册…

【算法练习】29:插入排序学习笔记

一、插入排序的算法思想 原理:将一个无序的数据序列逐步转化为有序序列。算法将待排序的数组分为两个部分已排序部分和未排序部分。 时间复杂度:插入排序的时间复杂度在最坏、平均和最好情况下的表现相同,均为 ,其中 n 是待排序数…

flutter+Springboot的结合

我们团队的开发 前端采用flutter 后端采用spring boot 首先 完成了app的图标名字的修改 在app/src/main/res/mipmap 目录中 存放app图标 图片 在AndroidManifest.xml 文件中 修改对应的 名字 和图标 打开后是 我们的主页面 首先进来的是 主页面 但是各种功能无法使用 必须登录后…

在Windows安装R语言

直接安装R语言软件 下载网址:R: The R Project for Statistical Computing 下载点击install R for the first time 通过Anaconda下载RStudio 提前下载好Anaconda 点击Anaconda Navigate 点击RStudio的Install下载就好了

第二部分 Python提高—GUI图形用户界面编程(三)

简单组件学习 Radiobutton 单选按钮、Checkbutton 复选按钮和canvas 画布 文章目录 Radiobutton 单选按钮Checkbutton 复选按钮canvas 画布 Radiobutton 单选按钮 Radiobutton 控件用于选择同一组单选按钮中的一个。Radiobutton 可以显示文本,也可以显示图像。 f…

如何在忘记密码情况下更改Windows 10用户的密码?这里有详细步骤

如果你想更改登录用户的Windows 10密码,当你不知道当前或旧用户密码时,这篇文章已经准备好让你学习如何操作了。 使用默认管理员更改Windows 10用户密码 如果我们启用了默认管理员,那么即使我们忘记了Windows 10用户密码,我们也可以使用内置管理员访问计算机,并在没有任…

Python分析之3 种空间插值方法

插值是一个非常常见的数学概念,不仅数据科学家使用它,而且各个领域的人们也使用它。然而,在处理地理空间数据时,插值变得更加复杂,因为您需要基于几个通常稀疏的观测值创建代表性网格。 在深入研究地理空间部分之前,让我们简要回顾一下线性插值。 为了演示的目的,我将使…

快速学习nginx反向代理

反向代理 nginx方向代理配置nginx反向代理nginx负载均衡配置 nginx方向代理 将前端发送的动态请求由nginx转发到后端服务器 nginx反向代理的好处: 提高访问速度 nginx中提供缓存机制,有一些数据在进行访问的时候无需访问后端服务器之间由nginx返回数据 …

使用JSZip实现在浏览器中操作文件与文件夹

使用JSZip来实现在浏览器中创建文件与文件夹1. 引言 浏览器中如何创建文件夹、写入文件呢? 答曰:可以借助JSZip这个库来实现在浏览器内存中创建文件与文件夹,最后只需下载这个.zip文件,就是最终得结果 类似的使用场景如下:在线下载很多图片,希望这些图片能分类保存到各个…

基于XML配置bean(二)

文章目录 1.工厂中获取bean1.静态工厂1.MyStaticFactory.java2.beans.xml3.测试 2.实例工厂1.MyInstanceFactory.java2.beans.xml3.测试 3.FactoryBean(重点)1.MyFactoryBean.java2.beans.xml3.测试 2.bean配置信息重用继承抽象bean1.beans.xml2.测试 3.…

rabbitMQ入门教程(商品抢购实战)

什么是MQ? 官方地址: https://www.rabbitmq.com/docsMQ有什么用? docker方式 安装: docker run \ -e RABBITMQ_DEFAULT_USER=yourame \ -e RABBITMQ_DEFAULT_PASS=123456 \ -v mq-plugins:/plugins \ --name mq \ --hostname mq \ -p 15672:15672 \ -p 5672:5672 \ --…

网络基础-基于TCP协议的Socket通讯

一、Socket通讯基于TCP协议流程图 UDP 的 Socket 编程相对简单些不在介绍。 二、 服务端程序启动 服务端程序要先跑起来,然后等待客户端的连接和数据。 服务端程序首先调用 socket() 函数,创建网络协议为 IPv4,以及传输协议为 TCP 的…