zookeeper集群安装部署和集群异常处理

  1. 准备jdk和zookeeper安装包【官网即可下载】

zookeeper-3.5.1-alpha.tar.gz

jdk1.7.0_8020200612.tar

  1. 准备三台linux虚拟机【具体以项目实际需要为准】,并安装jdk和zookeeper

虚拟机地址如下:194.1.1.86(server.1)、194.1.1.74(server.2)、194.1.1.45(server.3)

  1. 安装zookeeper(/app/soft/安装目录自定义)

3.1、分别将zookeeper-3.5.1-alpha.tar.gz安装包拷贝至194.1.1.86、194.1.1.74、194.1.1.45服务器的/app/soft/目录,然后执行以下命令解压:

[domains@ensemble1 soft]$ tar -zxvf zookeeper-3.5.1-alpha.tar.gz zookeeper

然后进入zookeeper目录创建data、logs目录

[domains@ensemble1 zookeeper]$ pwd

/app/soft/zookeeper

[domains@ensemble1 zookeeper]$ mkdir logs data

3.2、配置zoo.cfg文件【3台虚拟机分别执行】:

进入conf目录执行以下命令拷贝创建zoo.cfg文件

[domains@ensemble1 conf]$ cpzoo_sample.cfgzoo.cfg

[domains@ensemble1 conf]$ ll

vi zoo.cfg配置集群信息1/2/3要与对应服务器和myid文件一致,其中2888是数据同步和通信端口,3888是选举端口:

server.1= 194.1.1.86:2888:3888

server.2= 194.1.1.74:2888:3888

server.3= 194.1.1.45:2888:3888

dataDir=/app/soft/zookeeper/data【配置zookeeper数据文件存储目录】

3.3、在服务存放zookeeper数据文件目录执行以下命令穿件myid文件,并分别写入各节点对应的数字,例如在194.1.1.86的myid文件中写入1:

[domains@ensemble1 data]$ pwd

/app/soft/zookeeper/data

[domains@ensemble1 data]$ echo 1 >myid

194.1.1.74的myid文件中写入2:

[domains@ensemble1 data]$ pwd

/app/soft/zookeeper/data

[domains@ensemble1 data]$ echo 2 >myid

194.1.1.45的myid文件中写入3:

[domains@ensemble1 data]$ pwd

/app/soft/zookeeper/data

[domains@ensemble1 data]$ echo 3>myid

3.4、可以根据需要修改日志路径:

日志文件输入路径在/app/soft/zookeeper/bin/zkEnv.sh变量里找到

if [ "x${ZOO_LOG_DIR}" = "x" ]

then

    ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"

Fi

  1. 启动zookeeper集群,分别进入3台虚拟机的/app/soft/zookeeper/bin/目录执行以下命令启动zookeeper服务:

[domains@ensemble1 bin]$ ./zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /app/soft/zookeeper/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

然后查看当前服务状态:

[domains@ensemble1 bin]$ ./zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /app/soft/zookeeper/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: follower

注意:3台服务器的zookeeper服务都启动完成后,查看zookeeper状态会发现3台服务会选举一各leader节点和2个follower节点。

  1. 验证zookeeper集群是否搭建完成:

输入以下命令:[domains@ensemble1 bin]$ ./zkCli.sh -server 194.1.1.74:2181

输入ls/path

【查看zookeeper集群中注册的服务,在zookeeper中各服务的存储Id,客户端

调用服务时也是通过id值找到集群服务中对应的应用服务然后调用】

  1. 集群中各节点宕机后的影响和处理方式:

以上3个节点的zookeeper集群中会选举出一个leader和2个follower节点,follower几点负责接收客户端的请求并处理,leader节点负责服务端服务id的写入并同步给follower节点。

6.1、2个follower节点中任意一个节点挂掉

当2个follower节点中任意一个节点挂掉是不会影响zookeeper集群对外提供服务,这个时候恢复集群只需要把对应宕机节点的zookeeper服务重新启动即可。

6.2、 2个follower节点同时宕机

当2个follower节点同时宕机挂掉是不会影响zookeeper集群对外提供服务,但是应用服务后台会提示zookeeper连接拒绝异常:

2024-03-15 15:25:13,108 : eaip-XA1010080-0 WARN main-SendThread(194.1.35.8:2181) org.apache.zookeeper.ClientCnxn run 1235: Session 0x318dd1c13950000 for server 194.1.1.74/194.1.1.74:2181, unexpected error, closing socket connection and attempting reconnect

java.net.ConnectException: Connection refused: no further information

atsun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:357)

at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214)

2024-03-15 15:25:13,612 : eaip-XA1010080-0 WARN main-SendThread(194.1.1.86:2181) org.apache.zookeeper.ClientCnxn run 1235: Session 0x21eff7c26120000 for server 194.1.1.74/194.1.1.74:2181, unexpected error, closing socket connection and attempting reconnect

java.net.ConnectException: Connection refused: no further information

atsun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:357)

at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214)这个时候恢复集群只需要把对应宕机节点的zookeeper服务重新启动即可。

6.2、leader节点宕机挂掉

当leader节点宕机挂掉后,应用服务是不会出现异常。这个时候2个follower节点会自动选举一个新的leader节点,此时只需要把宕机的节点重新启动即可。

6.3、leader节点和一个follower节点同时宕机

当eader节点和一个follower节点同时宕机掉后,客户端调用应用服务会出现异常。但是这个时候zookeeper集群服务应挂掉,需要重启3台服务器zookeeper服务器。       

2024-03-15 15:36:59,995 : gw-nbs-XA1010080-0 WARN RMI TCP Connection(194.1.35.8:2181) org.apache.zookeeper.ClientCnxn run 1235: Session 0x10f9f2774430000 for server 194.1.1.74/194.1.1.74:2181, unexpected error, closing socket connection and attempting reconnect

java.net.ConnectException: Connection refused: no further information

         atsun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

         at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

         at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:357)

         at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214)

2024-03-15 15:37:00,330 : gw-nbs-XA1010080-0 WARN RMI TCP Connection(194.1.1.86:2181) org.apache.zookeeper.ClientCnxn run 1235: Session 0x0 for server 194.1.1.74/194.1.1.74:2181, unexpected error, closing socket connection and attempting reconnect

java.net.ConnectException: Connection refused: no further information

         atsun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

         at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

         at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:357)

         at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214)

2024-03-15 15:37:00,912 : gw-nbs-XA1010080-0 WARN RMI TCP Connection(194.1.1.86:2181) org.apache.zookeeper.ClientCnxn run 1235: Session 0x0 for server 194.1.1.74/194.1.1.74:2181, unexpected error, closing socket connection and attempting reconnect

6.4、3个集群节点同时宕机

需要重启3台服务器zookeeper服务器。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lyricsx让歌词悬浮于最顶层

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Lyricsx让歌词悬浮于最顶层 前言Lyricsx的特色功能:歌词展现的新高度安装在 macOS 上安装 Lyricsx: 前言 在音符的世界里,歌词是一把打开心扉的钥匙,而…

全国各省市县统计年鉴/中国环境统计年鉴/中国工业企业数据库/中国专利数据库/污染排放数据库

统计年鉴是指以统计图表和分析说明为主,通过高度密集的统计数据来全面、系统、连续地记录年度经济、社会等各方面发展情况的大型工具书来获取统计数据资料。 统计年鉴是进行各项经济、社会研究的必要前提。而借助于统计年鉴,则是研究者常用的途径。目前国…

蓝桥之手撕排序算法——冒泡、选择、插入、快排、归并(Python版)

目录 1. 排序引言 2. 冒泡排序 2.1 算法思想 2.2 代码实现 2.3 时空复杂度分析 3. 选择排序 3.1 算法思想 3.2 代码实现 3.3 时空复杂度分析 4. 插入排序 4.1 算法思想 4.3 代码实现 4.4 时空复杂度分析 5. 快速排序 5.1 算法思想 5.2 代码实现 5.3 时空复杂度分…

考研C语言复习进阶(5)

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数: ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind…

深度学习实战模拟——softmax回归(图像识别并分类)

目录 1、数据集: 2、完整代码 1、数据集: 1.1 Fashion-MNIST是一个服装分类数据集,由10个类别的图像组成,分别为t-shirt(T恤)、trouser(裤子)、pullover(套衫&#xf…

论文笔记:Llama 2: Open Foundation and Fine-Tuned Chat Models

导语 Llama 2 是之前广受欢迎的开源大型语言模型 LLaMA 的新版本,该模型已公开发布,可用于研究和商业用途。本文记录了阅读该论文的一些关键笔记。 链接:https://arxiv.org/abs/2307.09288 1 引言 大型语言模型(LLMs&#xff…

深入探索C与C++的混合编程

实现混合编程的技术细节 混合使用C和C可能由多种原因驱动。一方面,现有的大量优秀C语言库为特定任务提供了高效的解决方案,将这些库直接应用于C项目中可以节省大量的开发时间和成本。另一方面,C的高级特性如类、模板和异常处理等,…

ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案

ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案 文章目录 ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案摘要📑引言 🌟正文📚一、ONLYOFFICE文档概述 📊二、ONLYOFFI…

2024同城招标投标微网站微信小程序版本源码

2024同城招标投标微网站&微信小程序版本源码 功能介绍: 同城招投标这套程序主要是为了解决招投标问题 用户缴纳保证金发布起来招标,然后商家进行认证成功后可以对招标发起投标,投标过程也需要缴纳保证金,单招标结束或者下架保…

第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南》

第五篇:第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南 --- 我为什么要翻译介绍美国人工智能科技公司IAB系列技术标准(2) ​​​​​​​翻译计划 第一篇序言第二篇简介和目录第三篇概述- IA…

完成系统支持Github三方登录

文章目录 1、需求2、在对接系统中完成客户端注册3、创建客户端应用4、CommonOAuth2Provider SpringSecurity OAuth2.0文档: https://docs.spring.io/spring-security/reference/servlet/oauth2/index.html 1、需求 对接Github,在自己系统实现支持Githu…

Mit6.s081 前置开发环境: 虚拟机ubuntu + ssh + vscode

虚拟机 ssh vscode 前置条件 下载VMware Download VMware Workstation ProUbuntuUbuntu系统下载 | Ubuntu vscode Visual Studio Code - Code Editing. Redefined Ubuntu版本:20.04 Ubuntu基本操作 ubuntu 安装 ssh 服务 sudo apt-get install openssh-serv…

TT-100K数据集,YOLO格式

TT-100K数据集YOLO格式,分为train、val和test,其中train中共有6793张图片,val中共有1949张图片,test中共有996张图片。数据集只保留包含图片数超过100的类别。共计46类。

基于支持向量机(svm)的人脸识别

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 数据集加载与可视化 from sklearn.datasets import fetch_lfw_people faces fetch_lfw_people(min_faces_per_person60) # Check out sample…

MS12_020 漏洞利用与安全加固

文章目录 环境说明1 MS12_020 简介2 MS12_020 复现过程3 MS12_020 安全加固 环境说明 渗透机操作系统:kali-linux-2024.1-installer-amd64漏洞复现操作系统: cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1_X13-46432 1 MS12_020 简介 MS12_020 漏洞全称为&#x…

【视频异常检测】Delving into CLIP latent space for Video Anomaly Recognition 论文阅读

Delving into CLIP latent space for Video Anomaly Recognition 论文阅读 ABSTRACT1. Introduction2. Related Works3. Proposed approach3.1. Selector model3.2. Temporal Model3.3. Predictions Aggregation3.4. Training 4. Experiments4.1. Experiment Setup4.2. Evaluat…

linux安装WordPress问题汇总,老是提示无法连接到FTP服务器解决方案

最近在做一些建站相关的事情,遇到一些大大小小的问题都整理在这里 1.数据库密码和端口,千万要复杂一点,不要使用默认的3306端口 2.wordpress算是一个php应用吧,所以安装流程一般是 apache http/nginx——php——mysql——ftp &…

ASP.NET使用Applicaiton状态来存储和检索数据

目录 背景: 实例: Button1事件: Button2事件: 效果展示: 总结: 背景: 在ASP.NET Web From应用程序中,Appliciton是一个内置对象,用于在整个Web应用程序范围内存储和检索数据,这意味着存储在Application对象中的数据可以被应用程序中的…

算法笔记p154最大公约数和最小公倍数

目录 最大公约数辗转相除法证明例子代码实现 最小公倍数代码实现 最大公约数 正整数a与b的最大公约数是指a与b的所有公约数中最大的那个公约数,一般用gcd(a, b)表示a和b的最大公约数。 辗转相除法 设a、b均为正整数,则gcd(a, b) gcd(b, a % b)。即被…

huawei 华为交换机 配置手工模式链路聚合示例

组网需求 如 图 3-21 所示, SwitchA 和 SwitchB 通过以太链路分别都连接 VLAN10 和 VLAN20 的网络,SwitchA 和 SwitchB 之间有较大的数据流量。 用户希望SwitchA 和 SwitchB 之间能够提供较大的链路带宽来使相同 VLAN 间互相通信。 同时用户也希望能够提…