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集群搭建 -> 正文阅读

[大数据]Linux之Zookeeper集群搭建

一、Zookeeper集群简介

??Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。对 zookeeper 集群进行了这样三种角色划分:leader、follower、observer:

  • 领导者(leader):负责进行投票的发起和决议,更新系统状态。
  • 跟随者(follower):用于接收客户端请求并向客户端返回结果以及在选举过程中参与投票。
  • 观察者(observer):也可以接收客户端连接,将写请求转发给leader节点,但是不参与投票过程,只同步leader的状态。通常对查询操作做负载。

??Zookeeper 的三个端口作用

  • 2181 : 对 client 端提供服务
  • 2888 : 集群内机器通信使用
  • 3888 : 选举 leader 使用

二、搭建步骤

1、规划集群节点

在这里插入图片描述

2、安装JDK

安装步骤参考Linux之JDK安装与升级

3、创建zookeeper安装用户

集群各节点参照执行。
[root@s131 ~]# useradd zk
[root@s131 ~]# passwd zk
Changing password for user zk.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

4、下载zookeeper最新稳定版本

通过Apache官网下载最新稳定版本,https://zookeeper.apache.org/releases.html#download,博文发布时最新稳定版本为3.6.3,最新版本为3.7.0。实际下载链接为镜像网址,其他节点同步执行。
[root@s131 ~]# su - zk
[zk@s131 ~]$ wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz在这里插入图片描述

5、解压zookeeper软件包

其他节点参照执行。
[zk@s131 ~]$ tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
[zk@s131 ~]$ ln -s apache-zookeeper-3.6.3-bin zookeeper

6、修改配置文件 zoo.cfg

其他节点参照执行。
[zk@s131 ~]$ mkdir data
[zk@s131 ~]$ cd zookeeper/
[zk@s131 zookeeper]$ cd conf/
[zk@s131 conf]$ cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件,配置如下:
[zk@s131 conf]$ cat zoo.cfg |grep -Ev “#|$”
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zk/data
clientPort=2181
server.1=192.168.0.131:2888:3888
server.2=192.168.0.132:2888:3888
server.3=192.168.0.133:2888:3888

7、创建 myid 文件

[zk@s131 conf]$ cd /home/zk/data/
[zk@s131 data]$ echo “1” > myid
[zk@s131 data]$ cat myid
1
[zk@s132 conf]$ cd /home/zk/data/
[zk@s132 data]$ echo “2” > myid
[zk@s132 data]$ cat myid
2
[zk@s133 conf]$ cd /home/zk/data/
[zk@s133 data]$ echo “3” > myid
[zk@s133 data]$ cat myid
3

8、启动zookeeper服务

其他节点参照执行。
[zk@s131 bin]$ cd ~/zookeeper/bin/
[zk@s131 bin]$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/zk/zookeeper/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED

9、检查zookeeper状态

使用命令./zkServer.sh status和netstat -tnpl检查,可以发现132节点被选举为领导着,领导者多一个监听端口2888。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、zoo.cfg配置文件参数说明

  • tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime
  • dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。
  • client:监听客户端连接的端口。
  • initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
  • syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
  • server.A=B:C:D
    A:其中 A 是一个数字,表示这个是服务器的编号;
    B:是这个服务器的 ip 地址;
    C:Zookeeper服务器之间的通信端口;
    D:Leader选举的端口。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:16:50  更:2021-08-04 11:19:27 
 
开发: 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年11日历 -2024/11/24 11:54:46-

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