【Linux】-Zookeeper安装部署[17]

简介

apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

除了为Hadoop和Hbase提供协调服务外,ZooKeeper也被其他软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到ZooKeeper作为一致性协调服务存在。

ZooKeeper不论是大数据领域亦或是其他服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在。

安装

ZooKeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。

1、首先,要确保已经完成集群化环境前置准备。

2、【node1上操作】下载ZooKeeper安装包,并解压

# 下载
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz

# 确保如下目录存在,不存在就创建
mkdir -p /expoort/server

# 解压
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server

或者去阿里云镜像阿里云开发者社区-云计算社区-阿里云官网下载zookeeper安装包,随后上传解压到/export/server中。

下面使用的是apache-zookeeper-3.7.2版本。

3、【node1上操作】创建软链接

 ln -s /export/server/apache-zookeeper-3.7.2-bin/ /export/server/zookeeper

4、【node1上操作】修改配置文件

vim /export/server/zookeeper/conf/zoo.cfg


tickTime=2000

# zookeeper数据存储目录
dataDir=/export/server/zookeeper/data

clientPort=2181
initLimit=5
syncLimit=2

server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

5、【node1上操作】配置myid

# 1、创建zookeeper的数据目录
mkdir /export/server/zookeeper/data

# 2、创建文件,并填入1
vim /export/server/zookeeper/data/myid
# 在文件内填入1即可

6、【node2和node3上操作】,创建文件夹/export/server

mkdir -p /export/server

7、【node1上操作】 将zookeeper 复制到node2和node3

cd /export/server

scp -r apache-zookeeper-3.7.2-bin node2:`pwd`/
scp -r apache-zookeeper-3.7.2-bin node3:`pwd`/

8、【在node2上操作】

# 创建软链接
ln -s /export/server/apache-zookeeper-3.7.2-bin /export/server/zookeeper

# 修改myid文件,修改内容为2
vim /export/server/zookeeper/data/myid

9、【在node3上操作】

# 创建软链接
ln -s /export/server/apache-zookeeper-3.7.2-bin /export/server/zookeeper

# 修改myid文件,修改内容为3
vim /export/server/zookeeper/data/myid

10、【在node1、node2、node3上分别执行】启动zookeeper

/export/server/zookeeper/bin/zkServer.sh start

11、【在node1、node2、node3上分别执行】检查zookeeper

jps

# 结果中找到有:QuorumPeerMain  进程即可

12、【node1上操作】验证zookeeper

/export/server/zookeeper/zkCli.sh

# 进入到zookeeper控制台中,执行
ls /

# 如无报错即配置成功

至此zookeeper就安装成功啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/633777.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

五步定位性能瓶颈

一、着手测试前的准备:优化数据流向与系统架构分析 在进行性能测试或系统优化之前,明确数据流向和系统架构的细节是至关重要的步骤。这不仅能够帮助识别潜在的瓶颈,还能确保测试用例设计的全面性与针对性。以下是关键步骤和方法:…

17.3zabbix主动模式和被动模式

主动与被动区别 默认是被动: 被动模式,100个监控,需要100个回合;(zabbix-server依次去找每一个agent节点取值,效率低) 主动模式,100个监控,需要1个回合;(agent节点将自己的信息整理好主动去找zabbix-serve…

QT调用Tinyxml2库解析XML结构文件

在学习SVG结构的时候,发现SVG结构可以通过以XML文件直接解析,所以就去了解了Tinyxml2库的使用,相关教程也比较多。 个人感觉Tinyxml2库比官方的XML解析库更好用,这里做个技术总结,记录Tinyxml2库解析XML文件结构的简单…

计组期末必考大题

一.寻址方式详解 1.直接寻址 指令地址码直接给到操作数所在的存储单元地址 2.间接寻址 A为操作数EA的地址 3.寄存寻址 4.寄存器间接寻址 5.变址寻址 6.基地址寻址 7.小结 二、指令周期详解 一、基本概念 指令周期:去除指令并执行指令所需要的时间指令周期:由若干个CPU周…

分割训练日志的可视化

这一部分主要是将mmdetection训练得到的json文件可视化,代码主要源于github,具体哪一个忘记了(readme里面没有原址…)是专门做的mmdetection 结果可视化的,非常强!!。使用时如果出现keyerror的话…

Servlet的request对象

request对象的继承关系 1.HttpServletRequest接口继承了ServletRequest接口,对其父接口进行了扩展,可以处理满足所有http协议的请求 2.HttpServletRequest和ServletRequest都是接口,不能创建对象,因此在tomcat底层定义实现类并创…

文本三剑客之 sed 编辑器

一.sed 概述 1.sed 介绍 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个 命令文本文件中。 2.sed 的工…

基于python实现搜索的目标站点内容监测系统

基于python实现搜索的目标站点内容监测系统 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 登录页面 后台的登录一般是为了管理员的管理方便进行一个用户权限的验证。也是为管理员提供的唯…

【贪心算法题目】

1. 柠檬水找零 这一个题目是一个比较简单的模拟算法,只需要根据手里的钱进行找零即可,对于贪心的这一点,主要是在20元钱找零的情况下,此时会出现两种情况:10 5 的组合 和 5 5 5 的组合,根据找零的特点&a…

DVWA代码审计--SQL注入

NO.1 Low 首先来看下代码 <?php if( isset( $_REQUEST[ Submit ] ) ) { // Get input $id $_REQUEST[ id ]; // Check database $query "SELECT first_name, last_name FROM users WHERE user_id $id;"; $result mysql_query( $query ) or die( <pre>…

vue中数据已经改变了,但是table里面内容没更新渲染!

解决方案&#xff1a; 给table或者el-table标签上添加一个动态key值&#xff0c;只要数据发生改变&#xff0c;key值变动一下即可 标签上&#xff1a; :key“timeStamp” 初始data&#xff1a;timeStamp:0, 更新数据&#xff1a;this.timeStamp 这样每次更新数据&#xff…

微信小程序---小程序文档配置(2)

一、小程序文档配置 1、小程序的目录结构 1.1、目录结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page 一个小程序主体部分由三个文件组成&#xff0c;必须放在项目的根目录 比如当前我们的《第一个小程序》项目根目录下就存在这三个文件&#xff1a; 1…

Android 几个简单的自定义对话框介绍

Android 几个简单的自定义对话框介绍 文章目录 一、前言二、对话框相关内容1、效果2、对话框显示的调用代码&#xff08;1&#xff09;原生对话框代码&#xff1a;&#xff08;2&#xff09;自定义对话框代码&#xff1a; 3、对话框SweetAlertDialog 主要实现代码&#xff1a;4…

《Python编程从入门到实践》day37

# 昨日知识点回顾 制定规范、创建虚拟环境并激活&#xff0c;正在虚拟环境创建项目、数据库和应用程序 # 今日知识点学习 18.2.4 定义模型Entry # models.py from django.db import models# Create your models here. class Topic(models.Model):"""用户学习的…

【课后练习分享】Java用户注册界面设计和求三角形面积的图形界面程序

目录 java编程题&#xff08;每日一练&#xff09;&#xff1a; 问题一的答案代码如下&#xff1a; 问题一的运行截图如下&#xff1a; 问题二的答案代码如下&#xff1a; 问题二的运行截图如下&#xff1a; java编程题&#xff08;每日一练&#xff09;&#xff1a; 1.…

windows安装官方正版notepad++

一 、notepad介绍 Notepad 是一个免费的、开源的文本编辑器&#xff0c;主要面向程序员和高级用户。以下是 Notepad 的特点&#xff1a; 跨平台&#xff1a; 虽然主要为 Windows 平台设计&#xff0c;但可以通过 Wine 在 Linux 和 macOS 上运行。 语法高亮&#xff1a; 自动识…

Dubbo生态之初识dubbo协议

1.RPC框架 在java的发展中&#xff0c;随着业务的越来越庞大&#xff0c;单体架构的工作繁琐且耦合度高&#xff0c;因此单体架构过渡到了分布式架构&#xff0c;而分布式架构就必然涉及到各个服务之间的远程通信(RPC框架)&#xff0c;RPC框架如图所示: 工作流程: a.客户端调…

ElasticSearch 查询优化之skipped shards

文章目录 问题通过timeDate查询 问题 PUT test_01 {"settings": {"number_of_shards": 50}, "mappings": {"properties": {"createTimeDate": {"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis&…

对列表进行统计和计算

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Python的列表提供了内置的一些函数来实现统计、计算的功能。下面介绍几种常用的功能。 &#xff08;1&#xff09;获取指定元素出现的次数 使用列表…

汇聚荣科技有限公司怎么样?

在众多企业中&#xff0c;汇聚荣科技有限公司以其独特的发展模式和市场定位引起了人们的关注。对于这个问题&#xff0c;答案并非简单的好与坏&#xff0c;而需要从多个维度进行深入分析。 一、公司背景与发展历程汇聚荣科技有限公司成立于何年何地&#xff0c;由谁创立&#x…