分布式协调服务ZooKeeper(一)

在这里插入图片描述

1. 简介

ZooKeeper官网)是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

2. 特征/保障

ZooKeeper非常快而且非常简单。然而,由于它的目标是成为构建更复杂的服务(例如同步)的基础,因此它提供了一组保障:

  1. 顺序一致性:来自客户端的更新将按照发送的顺序应用。
  2. 原子性:更新要么成功,要么失败,没有部分结果。
  3. 统一视图:无论客户端连接到哪个服务器,客户端都将看到相同的服务视图。即,即使客户端故障转移到具有相同会话的不同服务器,客户端也永远不会看到系统的旧视图。
  4. 可靠性:一单应用更新,它将从那时起持续存在,直到客户端覆盖更新。
  5. 及时性:保证系统的客户视图在一定的时间范围内是最新的。

3. 安装/验证/使用/集群配置

ZooKeeper在Linux虚拟机中安装的详细步骤如下:

安装笔记:

准备  node01~node04  4台Linux虚拟机
1, 安装jdk,并设置javahome(最好不要yum安装jdk!它不是Hotspot的JVM,而是OpenJDK,后期几乎不维护了!)
*, node01:
2, 下载zookeeper    # 官网:zookeeper.apache.org
3, tar xf zookeeper.*.tar.gz   # 解压
4, mkdir /opt/mxf   # 创建用于存放zk解压后的文件的目录
5, mv zookeeper /opt/mxf
6, vi /etc/profile    # 配置环境变量
       export ZOOKEEPER_HOME=/opt/mxf/zookeeper-3.4.6
       export PATH=$PATH:$ZOOKEEPER_HOME/bin
	   # 使配置生效
	   source /etc/profile
       或者 . /etc/profile 都可以

       之后,可以复制到其他虚拟机下:
       scp /etc/profile node02:/etc

7, cd zookeeper/conf
8, cp zoo.sam*.cfg   zoo.cfg     # 复制后的 zoo.cfg 是zk启动默认加载的配置文件
9, vi zoo.cfg
     dataDir=/var/mxf/zk   # 放日志、快照、myid等数据文件
     server.1=node01:2888:3888
     server.2=node02:2888:3888
     server.3=node03:2888:3888
     server.4=node04:2888:3888   
     # 这里如果这样配置的node01·node04必须要有配置映射,或者node01修改了/etc/hosts
     # 否则需要改成节点主机的IP,下文有说明

	 注:zk集群和redis sentinel(有发布订阅机制)不同:
	     1、它必须要把集群都有谁写进来,靠人来规划集群
		 2、而且它们的 【行数/2 + 1】 就是过半数 
		 3、node01~node04 表示4个节点
		 4、端口号 3888 表示首次启动没有leader时,各节点通信投票选出一个leader
		 5、端口号 2888 表示,上步选出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值