Zookeeper搭建

news2024/11/25 0:48:57

目录

前言

初了解Zookeeper

搭建

准备

配置Zookeeper


前言

今天来介绍Zookeeper的搭建,其实Zookeeper的搭建很简单,但是为什么还要单独整一节呢,这就不得不先了解Zookeeper有什么功能了!而且现在很火的框架也离不开Zookeeper,比如说HaddopHA高可用框架,很多在Linux里面运行的Hbase数据库,Kafka也离不开Zookeeper所以在搭建前我们先来了解一下Zookeeper

初了解Zookeeper

首先我们先看来自Zookeeper官网对它的解释:

Apache ZooKeeper是一个开源的分布式协调服务,它为分布式应用程序提供了一系列的服务,包括配置维护、命名、分布式同步和组服务等。ZooKeeper的目标是为分布式应用程序提供一个高性能、高可用且具有严格顺序访问控制能力的分布式协调存储服务。它通过一个简单的接口提供了这些服务,使得开发人员无需从头开始编写这些服务,从而可以专注于实现应用程序的核心业务逻辑。

ZooKeeper使用Zab这种一致性协议来保证数据的一致性,这使得ZooKeeper成为一个经典的分布式数据一致性解决方案。此外,ZooKeeper也提供了丰富的API和工具,使得开发人员可以轻松地集成和使用ZooKeeper。

ZooKeeper是一个集中式的服务,它维护了一个类似于文件系统的目录树结构,用于存储和管理分布式应用程序的配置信息和状态信息。通过ZooKeeper,分布式应用程序可以实现集群管理、领导选举、分布式锁等功能,从而提高了系统的可靠性和性能。

那么简单来说就是,Apache ZooKeeper是一个功能强大、易于使用的分布式协调服务,它为分布式应用程序提供了高效、可靠、可扩展的协调机制,是构建大规模分布式系统的重要基础设施之一。从设计模式的角度来看Zookeeper是一个基于观察者模式设计的分布式服务管理框架。它负责存储和管理数据,并接受观察者的注册。一旦这些数据的状态发生变化,Zookeeper将负责通知已经在Zookeeper上注册的观察者,使其做出相应的反应。即 管理者

Zookeeper的核心特点是其集群结构,由一个领导者(Leader)和多个跟随者(Follower)组成。集群中只要有半数以上的节点存活,Zookeeper集群就能正常服务。此外,每个Server保存一份相同的数据副本,确保Client无论连接到哪个Server,数据都是一致的,这保证了Zookeeper的全局数据一致性

了解完了Zookeeper的大概之后,我们就可以进入搭建环节了

搭建

准备

紧接上一章hadoop完全分布式的搭建

我们继续使用上一章的集群即可

配置Zookeeper

与之前的步骤也大差不差

 解压

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

配置环境

#ZOOKEPPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin

配置文件

在/zookeeper-3.5.7/conf目录下的zoo_sample.cfg文件

修改zoo_sample.cfg文件变为zoo.cfg,并修改其内容,并添加内容

修改其名字

 mv zoo_sample.cfg zoo.cfg

修改其内容

dataDir=/opt/module/zookeeper-3.5.7/zkData

添加

server.1=bigdata1:2888:3888
server.2=bigdata2:2888:3888
server.3=bigdata3:2888:3888

在/zookeeper-3.5.7目录下创建zkData

mkdir zkData

在zkData目录下创建myid文件

touch myid
vim myid
#或者直接使用vim myid命令,vim一个不存在的文件,系统会自动为你创建这个文件

三台服务器中的myid的内容分别是

1
2
3

分发

和之前一样

xsync /opt/module/
xsync /etc/profile

xsync脚本上一章有,自行查看提取,xsync底层逻辑用的是scp和rsync

验证:

三台服务器分别启动,一定要先分别启动才可以去查看状态

./zkServer.sh start

三台服务器分别查看状态

./zkServer.sh status

出现一个领导者(Leader)和多个跟随者(Follower)就算成功

补充:

​​​​​​如果三台节点的zookeeper启动都没问题,但是查看状态的时候报错

报错信息为:Error contacting service. It is probably not running. 到这里不要担心,这是个常见问题,我们要试着去解决这个问题

1.防火墙是不是没有关闭

输入以下命令,查看防火墙状态

systemctl status firewalld

如果防火墙正在运行就关闭它,输入以下命令,关闭防火墙

systemctl stop firewalld

输入以下命令 ,禁止防火墙随着系统启动而启动,如果不设置每当你启动节点的时候都会自动帮你开启防火墙,很多功能都实现不了,在学习阶段一定要设置

systemctl disable firewalld

再启动Zookeeper,查看状态,一般就成功了。有一般就会有特殊情况

2.端口被占用导致

我们的端口是 2181

输入以下命令,检查端口2181是否被占用 

netstat -apn | grep 2181

如果有进程占用了2181端口,输入以下命令,杀死 带编号的进程(这里编号拟为14979)

kill -9 14979
  •  -9:是强制杀死,不管你是什么,非常危险,看准在删,因为有的进程一旦杀死就起不来了

再输入检查命令,看是否有占用。若有继续删除,若没有则重新启动Zookeeper

到这里了基本上也不会有什么问题了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有来团队后台项目-解析5

一、 husky 安装 pnpm install -D husky生成husky 配置文件 如果文件中有.git文件,那么直接执行 npx husky-init如果没有,那么先执行git init 结果: PS F:\company_project\demo\youlahoutaijiexi\vite-project> git init Initializ…

2.Datax数据同步之Windows下,mysql和sqlserver之间的自定义sql文数据同步

目录 前言步骤操作大纲步骤明细mysql 至 sqlServersqlServer 至 mysql执行同步语句中报 前言 上一篇文章实现了不同的mysql数据库之间的数据同步,在此基础上本篇将实现mysql和sqlserver之间的自定义sql文数据同步 准备工作: JDK(1.8以上,推…

数据结构 day2

1:思维导图 2&#xff1a;计算结构体大小 3&#xff1a;大小端存储 &#xff08;1&#xff09;&#xff1a;数据溢出 1 #include <stdio.h>2 #include <string.h>3 #include <stdlib.h>4 int main(int argc, const char *argv[])5 {6 short a 0x1234;…

JMeter使用记录

文章目录 概述从0创建一个测试场景线程组配置元件CSV Data Set ConfigHTTP信息头管理器HTTP Cookie管理器HTTP请求默认值 逻辑控制器简单控制器IF控制器循环控制器while控制器 取样器HTTP取样 前置/后置处理器BeanShell处理器JSR223处理器 监听器查看结果树聚合报告汇总报告 概…

保护数字前沿:有效的威胁暴露管理

人工智能技术正在从根本上改变网络安全领域的方向。仅 2023 年&#xff0c;全球企业预计将在人工智能上花费 1027.8 亿美元&#xff0c;以阻止网络安全威胁。 人工智能 (AI)在增强网络安全措施方面发挥着关键作用&#xff0c;因为它能够快速分析大量数据并识别可能表明潜在威胁…

windows系统图标变白设置

我们在使用系统的时候&#xff0c;通常会在桌面创建图标&#xff0c;有时候桌面图标过多&#xff0c;整理图标放在新建文件夹的时候&#xff0c;图标变白&#xff0c;通常情况下都是缓存问题&#xff0c;这里也是删除缓存解决演示系统&#xff1a;windows11 1显示图标缓存目录 …

力扣--深度优先算法/回溯算法47.全排列 Ⅱ

思路分析&#xff1a; 使用DFS算法进行全排列&#xff0c;递归地尝试每个可能的排列方式。使用 path 向量保存当前正在生成的排列&#xff0c;当其大小达到输入数组的大小时&#xff0c;将其加入结果集。使用 numvisited 向量标记每个数字是否已经被访问过&#xff0c;以确保每…

五 超级数据查看器 讲解稿 列表功能2

五 超级数据查看器 讲解稿 列表功能2 点击此处 以新页面 打开B站 播放教学视频 点此下载 百度手机助手 下载地址4 讲解稿全文&#xff1a; 大家好&#xff0c;今天我们讲解一下&#xff0c;超级数据查看器列表界面&#xff0c;分为1-2两集。这是第二集 继续讲解弹出式菜单…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的远距离停车位检测系统(深度学习代码+UI界面+训练数据集)

摘要&#xff1a;开发远距离停车位检测系统对于提高停车效率具有关键作用。本篇博客详细介绍了如何运用深度学习构建一个远距离停车位检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5&#xff0c;展示了不…

极简云商业版 开源源码

简化版的云商业源码已经以开源形式发布了&#xff0c;现在可以解绑卡密和查询卡密。总体而言&#xff0c;这个版本已经相当完善了。在对接示例网盘中有一个用户注册的例子&#xff0c;需要配置一个邮箱。您可以在网页上启用QQ邮箱的标准版SMTP&#xff0c;并生成一个授权码。 …

【多用途】Fruits-360:包含水果和蔬菜的图像数据集

一、介绍 该数据集包含水果和蔬菜的高质量图像数据集。 包括以下水果和蔬菜&#xff1a; Apples (different varieties: Crimson Snow, Golden, Golden-Red, Granny Smith, Pink Lady, Red, Red Delicious), Apricot, Avocado, Avocado ripe, Banana (Yellow, Red, Lady Fin…

关于c++的protected关键字

关于c的protected关键字 分类引言例子1&#xff09;错误的demo2&#xff09;改正的demo protected在c中的含义与作用 分类 c基础知识 引言 做了很业务&#xff0c;c基础知识却忘了很多&#xff0c;今天看了一个例子&#xff0c;唤醒了我关于c三大特性之一----封装&#xff0…

一文看明白Transformer微调过程中嵌入向量的变化

TL&#xff1b;DR 微调在图像分类中显著影响嵌入向量。微调前的嵌入向量提供通用性表征&#xff0c;而微调后的嵌入向量捕获任务特定的特征。这种区别可能导致在异常检测和其他任务中的不同结果。微调前和微调后的嵌入向量各有其独特优势&#xff0c;应结合使用以实现图像分类…

【MySQL 系列】MySQL 语句篇_DDL 语句

DDL&#xff08; Data Definition Language&#xff0c;数据定义语言&#xff09;用在定义或改变表的结构数据类型、表之间的链接和约束等初始化工作上。常用的语句关键字包括 CREATE、 DROP、 ALTER 等。 文章目录 1、MySQL 中的 DQL 语句2、MySQL 中库表的 DQL 语句详解2.1、…

[leetcode~dfs]1261. 在受污染的二叉树中查找元素

给出一个满足下述规则的二叉树&#xff1a; root.val 0 如果 treeNode.val x 且 treeNode.left ! null&#xff0c;那么 treeNode.left.val 2 * x 1 如果 treeNode.val x 且 treeNode.right ! null&#xff0c;那么 treeNode.right.val 2 * x 2 现在这个二叉树受到「污…

LeetCode刷题---即时食物配送 II

LeetCode题解 解题思路: 1.首先先求出每个用户首次订单表&#xff0c;将其命名为表t &#xff08;select customer_id,min(order_date) as order_datefrom Deliverygroup by customer_id&#xff09;as t2.与原表连接&#xff0c;求出在用户首次订单表中即时订单的数量的总和…

遥感云计算的一个拐点

GeoForge&#xff0c;一个值得关注的遥感大数据应用 简介 GeoForge是由Ageospatial公司开发的一个基于大语言模型(GeoLLMs)的地理空间分析平台。GeoForg的目的是使每个人都可以轻松进行地图绘制和地理空间分析&#xff0c;无论您是外行还是专家。 Geo for ChatGPT 作者团队已…

多模态大模型Claude 3正式接入集简云与语聚!对标GPT-4且支持中文

自OpenAI发布GPT-4以来&#xff0c;引发了业务模式与应用使用的巨大变革&#xff0c;掀起了各大企业对于多模态大模型的研究热潮。3月初&#xff0c;AnthropicClaude在官网正式发布Claude 3系列多模态大模型&#xff0c;据了解&#xff0c;该模型在多个维度上超越了GPT-4&#…

Midjourney指控Stability AI夜袭数据,网络风波一触即发

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

03_渲染进程调用node

我们先创建一个文件夹及文件&#xff0c;并且在 html 引入 JS 文件。 在 render.js 里面输入以下内容&#xff1a; let fs require(fs) // let是在当前代码块有效console.log(fs) // 将fs对象的内容打印到控制台供调试和查看 fs 模块&#xff1a;对文件系统进行操作&#xf…