3.0 zookeeper的集群介绍、搭建、环境、安装
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
3.0 zookeeper的集群介绍、搭建、环境、安装的更多相关文章
- Zookeeper服务器集群的搭建与操作
ZooKeeper 作用:Zookeeper 可以用来保证数据在zk集群之间的数据的事务性一致(原子操作). 介绍:Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoo ...
- zookeeper以及集群的搭建
今天我来写一写zookeeper集群的搭建流程 1.zookeeper的搭建不难,难的是对他的理解以及良好的使用.单机版的zookeeper只需要解压后直接命令 启动即可 解压zookeeper,ta ...
- zookeeper伪集群的搭建
由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上. 准备工作: 1,一台服务器,我们这里用 ...
- zookeeper的集群介绍、搭建、环境、安装
zookeeper是本身是一种分布式协调服务(英文意思动物园园长因为Hadoop就是一个动物园,storm.hadoop.kafkaka.hbaser都是基于zookeeper开发的) 原理:Zook ...
- Spark3.0.1各种集群模式搭建
对于spark前来围观的小伙伴应该都有所了解,也是现在比较流行的计算框架,基本上是有点规模的公司标配,所以如果有时间也可以补一下短板. 简单来说Spark作为准实时大数据计算引擎,Spark的运行需要 ...
- ZooKeeper伪集群的搭建(Windows)
首先下载 zookeeper 地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 1.下载完成解压后修改文件夹名字为zookeeper1,然后删除c ...
- oracle 集群RAC搭建--环境准备
一,环境介绍 目前我本身环境已经有DG,正在尝试重做搭建.如需完成请移步往期文章--搭建DG
- 关于Hadoop集群的搭建环境变量相关配置
在任何路径下输入HDFS中的命令都可以进行shell操作的配置: 要设置环境变量: (1) # vim /etc/profile在profile文件下面追加写入下面信息 export HADOOP_H ...
- zookeeper介绍及集群的搭建(利用虚拟机)
ZooKeeper ZooKeeper是一个分布式的,开放源码(apache)的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase.dubbox.kaf ...
随机推荐
- TCP连接三次握手协议,释放连接四次挥手,以及使用 awl伪造mac地址进行多线程syn洪泛攻击。
这个TCP连接就是一次追女生-谈恋爱-分手,追求比分手简单,但是分手比追求复杂.哥,谈了半年的女朋友,在就快要成功了的时候分了,原因是因为有人在后面该老子背后搞SYN洪泛攻击,最后女朋友丢失了.学会T ...
- 模块XXXX可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86(32位)x64(64位)版本兼容。
最近自己在编写ActiveX控件.遇到的麻烦事不少. 今天遇到了这个问题“模块XXXX可能与您正在运行的Windows版本不兼容.检查该模块是否与regsvr32.exe的x86(32位)x64(64 ...
- php生成word文档
使用fopen文件操作函数来做,需要注意的直接生成中文文件名会乱码,(生成word和微软的编码不一样)需要转码生成.word内容保持utf8编码就好. $file_name = iconv(" ...
- 【.net开发者自学java系列】使用Eclipse开发SpringMVC(1)
第一篇随笔,有点紧张.有错别字是正常的.... 好了,自我描述下.我是一个有几年.net开发经验的老菜鸟.是的,老菜鸟.别跟我讨论底层,别跟我讨论协议.TMD啥都不会. 为什么要学JAVA,我也不想, ...
- Set集合之HashSet类
HashSet简介 HashSet是Set接口的典型实现,大多数时候使用Set集合时就是使用这个实现类.HashSet按Hash算法来存储集合中的元素,因此具有良好的存取和查找性能. HashSet特 ...
- 闲来无事做了一个项目,内有redis,EasyUI样式简单应用,七层分页查询,API跨域。
<link href="~/jquery-easyui-1.5.3/themes/default/easyui.css" rel="stylesheet" ...
- functional filter()
#include "pch.h" #include <iostream> #include <deque> #include <string> ...
- C++的六个函数
一.构造函数 在C++中,构造函数是六个函数中的第一个,当一个对象被创建时,在它的整个周期中,是一个由生到死的 过程,即构造函数创建对象,析构函数析构对象.在对象被创建时,调用构造函数创建一个对象,这 ...
- java8时间工具类Localdate、LocaldateTime
优点: 1.方便. Date 只能是日期加时间的格式,而 LocalDate .LocalTime.LocalDateTime 分别代表日期,时间,日期+时间,非常灵活.再就是后者在日期计算及格式化方 ...
- Python学习 :异常处理
异常处理 什么是异常处理 - python解释器检测到错误,触发异常(也允许程序员自己触发了异常) - 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,只与异常处理有关) - 如果 ...