IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Linux安装zookeeper集群(CentOS8+Zookeeper3.6.3) -> 正文阅读

[大数据]Linux安装zookeeper集群(CentOS8+Zookeeper3.6.3)

前期准备:

需要安装好虚拟机和centos8如果不会安装可以参考如下连接:
http://blog.csdn.net/pucao_cug/article/details/71229416
然后部署好节点hostname部署方式参考,下面链接的部署hostname模块:
https://blog.csdn.net/Te_Chainy/article/details/118026360

1.安装

1.1下载

????发现官网上不去,不知道是我ip被禁了,还是官网不中国用户上,上网一搜发现韦恩州立大学可以上,网址为:
????http://ftp.wayne.edu/apache/zookeeper/
????选择stable稳定版本
在这里插入图片描述
????再选择编译好的版本
在这里插入图片描述

注 意 : 由 于 前 面 我 错 下 载 了 没 有 b i n 的 包 , 导 致 我 后 面 的 截 图 都 是 没 有 b i n 的 包 这 点 大 家 注 意 一 下 。 \color{red}{注意:由于前面我错下载了没有bin的包,导致我后面的截图都是没有bin的包这点大家注意一下。} bin,bin

1.2给各个节点创建文件夹装zookeeper

????创建一些文件夹

	mkdir /opt/zookeeper
	mkdir /opt/zookeeper/data
	mkdir /opt/zookeeper/datalog

在这里插入图片描述

1.3上传

????可以通过windows下再好压缩包以后,通过ZModem上传到linux上
????如何下载ZModem参看我这篇文章,大概在中间位置。
????https://blog.csdn.net/Te_Chainy/article/details/118026360?spm=1001.2014.3001.5501
????上传到 /opt/zookeeper/中

rz

在这里插入图片描述
????选择apache-zookeeper-3.6.3.tar.gz
在这里插入图片描述

1.4解压

tar -zxvf apache-zookeeper-3.6.3.tar.gz

在这里插入图片描述
????跑了一大段以后完成

1.5创建myid文件

????再/opt/zookeeper/data中创建myid文件
在这里插入图片描述
????编辑myid文件在其中添加内容1、2、3
????Server1中内容为1

在这里插入图片描述
????Server2中内容为2
在这里插入图片描述
????Server3中内容为3
在这里插入图片描述
????不会vim的同学上百度搜一搜,一搜一大把。

2.配置

2.1修改zoo.cfg

????首先需要有一个zoo.cfg文件,apache-zookeeper-3.6.3/conf/ 下有一个zoo_sample.cfg,我们将官方示例文件的配置先复制到zoo.cfg,用cp命令顺便创建zoo.cfg文件了。

cp /opt/zookeeper/apache-zookeeper-3.6.3/conf/zoo_sample.cfg  /opt/zookeeper/apache-zookeeper-3.6.3/conf/zoo.cfg

在这里插入图片描述
????Vim编辑zoo.cfg配置添加如下内容

dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/dataLog
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888

在这里插入图片描述
说 明 : d a t a D i r 和 d a t a L o g D i r 需 要 自 己 创 建 , 目 录 可 以 自 己 制 定 , 对 应 即 可 。 s e r v e r . 1 中 的 这 个 1 需 要 和 s e r v e r 1 这 个 机 器 上 的 d a t a D i r 目 录 中 的 m y i d 文 件 中 的 数 值 对 应 。 s e r v e r . 2 中 的 这 个 2 需 要 和 s e r v e r 2 这 个 机 器 上 的 d a t a D i r 目 录 中 的 m y i d 文 件 中 的 数 值 对 应 。 s e r v e r . 3 中 的 这 个 3 需 要 和 s e r v e r 3 这 个 机 器 上 的 d a t a D i r 目 录 中 的 m y i d 文 件 中 的 数 值 对 应 。 当 然 , 数 值 你 可 以 随 便 用 , 只 要 对 应 即 可 。 2888 和 3888 的 端 口 号 也 可 以 随 便 用 , 因 为 在 不 同 机 器 上 , 用 成 一 样 也 无 所 谓 。 \color{red}{说明:dataDir和dataLogDir需要自己创建,目录可以自己制定,对应即可。server.1中的这个1需要和server1这个机器上的dataDir目录中的myid文件中的数值对应。server.2中的这个2需要和server2这个机器上的dataDir目录中的myid文件中的数值对应。server.3中的这个3需要和server3这个机器上的dataDir目录中的myid文件中的数值对应。当然,数值你可以随便用,只要对应即可。2888和3888的端口号也可以随便用,因为在不同机器上,用成一样也无所谓。} dataDirdataLogDirserver.11server1dataDirmyidserver.22server2dataDirmyidserver.33server3dataDirmyid便28883888便

2.启动测试

2.1报错

????如果报错如下
在这里插入图片描述
????查看状态
在这里插入图片描述
那么你有可能是产生了这样的错误:
????1.zookeeper下的是没有bin的那个包
????2.zookeeper依赖于java,用的时候会自动找JAVA_HOME,所以在配置zookeeper前,一定要配置好java环境
????3.tomcat 和 zook 使用的端口冲突,netstsat -ant 查看端口
????4.防火墙没有关 systemctl stop firewalld
????5.zoo.cfg配置文件 节点ip的域名输入有误
????6.一切修改好后,一定要重启zookeeper服务

2.2正常启动

????正常启动应当是如下图所示
在这里插入图片描述
????节点都启动完成以后查看状态server1
在这里插入图片描述
????发现角色是follower
????再看看其他的
????Server2
在这里插入图片描述
????Server3
在这里插入图片描述

2.3如何选Leader

????看到这里我不禁思考leader怎么选的?
????首先解释一下各个状态
????LOOKING:寻找Leader状态,处于该状态需要进入选举流程
????LEADING:领导者状态,处于该状态的节点说明是角色已经是Leader
????FOLLOWING:跟随者状态,表示Leader已经选举出来,当前节点角色是follower
????OBSERVER:观察者状态,表明当前节点角色是observer
在网上查询资料以后大概总结了一下三个节点的选举流程如下:
????假设有三台服务器组成的zookeeper集群,它们的id从1-3,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的.假设这些服务器依序启动,来看看会发生什么。
????Server1启动,此时只有他一台启动,他发出信息询问,说自己要做leader,然后没有人回复,因为集群中只有它启动了,它的选举状态保持着LOOKING。
????Server2启动,此时有两台机器启动了,server2发出信息询问,自己要做leader,然后server1回复表示支持,所以server2会获得server1一票,加上server2自己一票,总票数大于3个节点一般也就是大于1.5,server2获选,server2状态变为LEADING,server1状态变成了FOLLOWING。
????Server3启动,此时集群中3个机器启动,server3发出询问信息,自己要做leader,当发送给server2,server2回复自己已经是leader了,server3状态变成了FOLLOWING

那么问题来了万一leader节点挂了怎么办?
????很简单server2挂了,其他非observer状态全部变成LOCKING,重复上面的操作,选leader。
这里是以白话的形式表述,专业性不强,如果有大佬比较喜欢钻研,可以看一下这个大佬写的分析。
????https://blog.csdn.net/chengyuqiang/article/details/7919006

3.致谢

本文撰写参考了,一些博主文章,非常感谢他们
https://blog.csdn.net/pucao_cug/article/details/72228973
https://blog.csdn.net/pucao_cug/article/details/71240246

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 14:16:32  更:2021-07-22 14:18:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 14:14:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码