从事大数据,还不知道Zookeeper是啥?带你安装Zookeeper集群

大数据
zookeeper是一个分布式协调服务的开源框架。其主要作用是用来解决分布式集群中的数据一致性问题。zookeeper本质上是一个小文件系统。其数据结构类似于文件系统的目录树,zookeeper可以对这些节点进行有效的管理。

zookeeper概述

什么是zookeeper?为什么zookeeper在大数据领域如此重要?下面我们从最基础的开始了解。

zookeeper是一个分布式协调服务的开源框架。其主要作用是用来解决分布式集群中的数据一致性问题。zookeeper本质上是一个小文件系统。其数据结构类似于文件系统的目录树,zookeeper可以对这些节点进行有效的管理。通过节点管理,来达到监控和维护节点数据的目标。通过监控数据的变化,来达到管理集群的目的。常见的应用如:配置管理、名称服务、分布式消息队列、分布式锁、分布式协调服务等。 

从事大数据据,还不知道zookeeper是啥?带你安装zookeeper集群

zookeeper特性

数据一致性:在zookeeper集群中,每个server都保存着一份相同的数据副本,client无论连接到哪一个server,展示的数据都是一致的,这是zookeeper一个非常重要的特性,也是其在大数据领域广泛应用的基础。

可靠性:如果客户端请求被任意一个server接受,那么该请求就会被整个集群接受。

顺序性:有全局有序和偏序两种。全局有序是指如果在一台server上,消息a在消息b先发布,那么在所有server上,消息a都在消息b先发布。而偏序是指消息a在消息b前被同一个server发布,那么消息a必定在消息b的前面。

数据更新的原子性:一次数据更新要么成功,要么失败,不存在中间状态。

实时性:zookeeper保证客户端在一定的时间间隔内获得服务器的响应,无论是成功还是失败。

zookeeper角色 

从事大数据据,还不知道zookeeper是啥?带你安装zookeeper集群

leader:是集群正常工作的核心。事务性(写操作)请求的唯一处理者和调度者。集群内部的管理者和调度者。

follower:处理非事务性请求,参与集群leader选举,转发事务性请求给leader.

observer:处理非事务性请求,不参与leader选举,转发事务性请求给leader。如果集群的读请求很多,可以添加observer角色,提高集群的非事务处理能力。

zookeeper安装

zookeeper的安装分为单机版和集群版,单机版主要用来调试。下面我们演示在虚拟机中安装集群版。zookeeper集群通常由奇数个节点组成,这是为了保证集群leader的选举(基于paxos算法,此篇文章不做介绍)。本次演示使用3台机器如何安装zookeeper集群。

1.安装jdk,三台机器都要安装

  1. 下载地址https://www.oracle.com/technetwork/java/javase/downloads 
  2. /index.htmljdk-8u211-linux-x64.rpm#安装rpm -ivh jdk-8u211-linux- 
  3. x64.rpm#切换javaalternatives --config java 

2.下载zookeeper安装包

  1. 下载地址:https://archive.apache.org/dist/zookeeper/安装包版本:zookeeper-3.4.5.tar.gz 

3.配置主机名映射

  1. vim /etc/hosts192.168.80.10 node1192.168.80.11 node2192.168.80.12 node3 

4.修改zookeeper配置文件

  1. tar -zxvf zookeeper-3.4.5.tar.gz -C /servers/cd /serversln -s  
  2. zookeeper-3.4.5/ zookeepercd /servers/zookeeper/confcp zoo_sample.cfg  
  3. zoo.cfgvim zoo.cfg#在zoo.cfg中添加如下配置信息 
  4. tickTime=2000dataDir=/servers/zookeeper 
  5. /dataclientPort=2181server.1=node1:2888:3888server.2=node2:2888:3888s 
  6. erver.3=node3:2888:3888 

5.设置myid文件

myid文件只包含一个数字,数值范围在1-255,myid文件的位置在数据目录下,由dataDir参数指定

  1. cd /servers/zookeeper/dataecho 1 > myid注意myid中的值必须是唯一的,在 
  2. 这里我们三台机器分别设置为1,2,3 

6.启动zookeeper

  1. ./zkServer.sh start 

7.查看角色状态

  1. /servers/zookeeper/bin/zkServer.sh status 

zookeeper集群环境已经搭建好了,下一篇文章我们看看如何使用zookeeper,zookeeper又有哪些有趣的特性。

 

责任编辑:未丽燕 来源: 今日头条
相关推荐

2019-11-28 15:36:43

Redis数据库高延迟

2021-10-22 09:41:26

桥接模式设计

2016-07-22 17:55:07

云计算

2022-09-01 07:24:30

鸿蒙OSHarmonyOS微内核

2022-09-19 18:32:22

函数编程语言

2022-05-05 12:02:45

SCSS函数开发

2020-12-14 07:51:16

JS 技巧虚值

2022-07-17 06:53:24

微服务架构

2018-09-02 15:43:56

Python代码编程语言

2019-12-24 09:49:02

微软英语浏览器

2010-03-12 09:15:28

Firefox新功能

2022-04-15 07:51:12

off-heap堆外内存JVM

2015-04-16 11:35:07

大数据大数据迷思

2021-08-27 10:03:12

人工智能AI

2023-01-02 10:08:42

StampedLocAQS框架

2018-07-10 11:33:58

计算器iPhone删除

2020-12-09 15:05:40

大数据学习Zookeeper

2020-10-28 08:06:09

Vue3框架数据

2021-03-18 14:02:56

iOS苹果细节
点赞
收藏

51CTO技术栈公众号