zookeeper是本身是一种分布式协调服务(英文意思动物园园长因为Hadoop就是一个动物园,storm、hadoop、kafkaka、hbaser都是基于zookeeper开发的)

原理:Zookeeper虽然在配置文件中并没有指定master和slave但是,zookeeper工作时,是有一个节点为leader,其他则为follower,Leader是通过内部的选举机制临时产生的。

一、zookeeper是什么(马士兵的说法,言简意赅!)

1、一致:所有用户通过客户端访问的数据全部一致

2、有头:每个zookeeper集群都有一个leader和几个follower(通过PAXOS的选举机制)

Leader 和  follower  只要集群中有半数以上节点存活,集群就能提供服务

3.数据树:树状的储存数据结构(存储类型分为暂时和持久)

数据Znode有两种类型:

短暂(ephemeral)(断开连接自己删除)

持久(persistent)(断开连接不删除)

二、zookeeper的功能

1、管理(存储,读取)用户程序提交的数据;

2、并为用户程序提供数据节点监听服务;

三、作用有哪些

1、集群的配置一致

2、对每台机器和数据进行监听

3.、分布式的负载平衡

4、分布式锁

四、集群的特点

半数机制:集群中半数以上机器存活,集群可用。

zookeeper适合装在奇数台机器上!

五、搭建zookeeper集群的步骤

前提条件JDK安装完毕

  5.1上传及解压

解压:tar -zxvf zookeeper-3.4.5.tar.gz

重命名 : mv zookeeper-3.4.5 zookeeper

  5.2修改环境变量

vim /etc/profile(修改文件)

  #zookeeper环境配置(为了在各种目录都能运行zookeeper命令)

  export ZOOKEEPER_HOME=/home/hadoop/zookeeper(你zookeeper安装路径)

  export PATH=$PATH:$ZOOKEEPER_HOME/bin

wq:保存退出

source /etc/profile :重启配置文件

  5.3修改zookeeper的配置文件

进入conf目录: cd zookeeper/conf

重命名:cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

dataDir=/home/hadoop/zookeeper/data(创建路径保存数据)

dataLogDir=/home/hadoop/zookeeper/log(创建数据保存日志)

server.1=slave1:2888:3888 (主机名, 心跳端口、数据端口)

server.2=slave2:2888:3888

server.3=slave3:2888:3888

wq:保存退出

创建刚才配置文件的目录

cd /home/hadoop/zookeeper/

mkdir -m 755 data

mkdir -m 755 log

  5.4在data文件夹下新建myid文件,myid的文件内容为:

cd data

vi myid

1(对应子机的编号)

wq:退出

scp -r /home/hadoop/zookeeper root@slave2:/home/hadoop/

scp -r /home/hadoop/zookeeper root@slave3:/home/hadoop/

到slave2上:修改myid为:2

到slave3上:修改myid为:3

   5.5启动测试

zkServer.sh start

jps(查看进程)

zkServer.sh status(查看集群状态,主从信息)

五、zookeeper客户端操作

运行 zkCli.sh –server <ip>进入命令行工具

1、查看当前 ZooKeeper 中所包含的内容

ls /

2、创建 :这个命令创建了一个新的 znode 节点“ zk ”以及与它内容:

create /zk "myData“

3、我们运行 get 命令来确认 znode 是否有内容:

[zk: 202.115.36.251:2181(CONNECTED) 3] get /zk

#监听这个节点的变化,当另外一个客户端改变/zk时,它会打出下面的

get /zk watch

4、下面我们通过 set 命令来对 zk 所关联的字符串进行设置:

[zk: 202.115.36.251:2181(CONNECTED) 4] set /zk "zsl“

5、znode 删除:只能删一个

[zk: 202.115.36.251:2181(CONNECTED) 5] delete /zk

6、删除所有子节点:rmr

[zk: 202.115.36.251:2181(CONNECTED) 5] rmr /zk

zookeeper的集群介绍、搭建、环境、安装的更多相关文章

  1. Zookeeper服务器集群的搭建与操作

    ZooKeeper 作用:Zookeeper 可以用来保证数据在zk集群之间的数据的事务性一致(原子操作). 介绍:Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoo ...

  2. zookeeper伪集群的搭建

    由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上. 准备工作: 1,一台服务器,我们这里用 ...

  3. zookeeper以及集群的搭建

    今天我来写一写zookeeper集群的搭建流程 1.zookeeper的搭建不难,难的是对他的理解以及良好的使用.单机版的zookeeper只需要解压后直接命令 启动即可 解压zookeeper,ta ...

  4. 3.0 zookeeper的集群介绍、搭建、环境、安装

    zookeeper是本身是一种分布式协调服务(英文意思动物园园长因为Hadoop就是一个动物园,storm.hadoop.kafkaka.hbaser都是基于zookeeper开发的) 原理:Zook ...

  5. ZooKeeper伪集群的搭建(Windows)

    首先下载 zookeeper 地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 1.下载完成解压后修改文件夹名字为zookeeper1,然后删除c ...

  6. oracle 集群RAC搭建--环境准备

    一,环境介绍 目前我本身环境已经有DG,正在尝试重做搭建.如需完成请移步往期文章--搭建DG

  7. 关于Hadoop集群的搭建环境变量相关配置

    在任何路径下输入HDFS中的命令都可以进行shell操作的配置: 要设置环境变量: (1) # vim /etc/profile在profile文件下面追加写入下面信息 export HADOOP_H ...

  8. zookeeper介绍及集群的搭建(利用虚拟机)

    ZooKeeper ​ ZooKeeper是一个分布式的,开放源码(apache)的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase.dubbox.kaf ...

  9. Zookeeper分布式集群搭建

    实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...

随机推荐

  1. Java中设计模式之工厂模式-4

    一.工厂模式由来 1)还没有工厂时代:假如还没有工业革命,如果一个客户要一款宝马车,一般的做法是客户去创建一款宝马车,然后拿来用. 2)简单工厂模式:后来出现工业革命.用户不用去创建宝马车.因为客户有 ...

  2. python中文字符串编码问题

    接口测试的时候,发现接口返回内容是uncodie类型但是包含中文.在使用print进行打印时输出提示错误: UnicodeEncodeError: 'ascii' codec can't encode ...

  3. POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)

    一.使用poi解析excel文档 注:全部采用poi接口进行解析,不需要区分xls.xlsx格式,不需要判断文档类型. poi中的日期格式判断仅支持欧美日期习惯,对国内的日期格式并不支持判断,怎么办? ...

  4. PHP漏洞之session会话劫持

    本文主要介绍针对PHP网站Session劫持.session劫持是一种比较复杂的攻击方法.大部分互联网上的电脑多存在被攻击的危险.这是一种劫持tcp协议的方法,所以几乎所有的局域网,都存在被劫持可能. ...

  5. 关于URL的理解

    引言 URL,是统一资源定位符(Uniform Resource Locator)的缩写,一个URL就是一个特定资源在网络上的地址.理论上讲,一个URL指向一个唯一的资源,这个资源可以使一个HTML页 ...

  6. react-native学习(RN)--之Window环境下搭建环境配置

    react-native以后会更火的,自从2015年facebook开源了Android 一.安装java 二.安装Android Studio 三.安装react-native需要的Android ...

  7. ipython及Python初体验

    阅读目录: Python环境体验 Python编辑器 ipython安装 Python提示符 Python初体验 print和变量 变量操作 内建函数:方法 数学运算:简单算术.随机数 关于模块 一. ...

  8. CSS3的使用方法解析

    自己过去有段时间使用CSS3开发过一些小的部件和效果,但是由于太久没有再次去使用,导致当自己再次去使用的时候我就需要去翻手册重新找一次然后按着方法使用才可以. 现在我就把这份CSS3的使用技巧展示给各 ...

  9. Perl正则表达式例子

    Perl正则表达式 一.介绍 正则表达式各语言都有自己的规范,但是基本都差不多,都是由元字符的组合来进行匹配:由于Nmap内嵌的服务与版本探测是使用的Perl正则规范,因此此篇博客记录一下Perl正则 ...

  10. 一些css书写的小技巧

    一.css顺序 首先声明,浏览器读取css的方式是从上到下的.我们一般书写css只要元素具备这些属性就会达到我们预期的效果,但是这会给以后的维护和浏览器的渲染效率带来一定的影响,那么该怎么书写css的 ...