Zookeeper系列1 快速入门
Zookeeper的简介这里我就不说了,在接下来的几篇文章会涉及zookeeper环境搭建,watcher以及相关配置说明,
三种操作zookeeper的方式(原生API方式,zkclient,Curator),分布式锁等进行说明。
环境安装
一般来说,zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。
1.单机模式:Zookeeper只运行在一台服务器上,适合测试环境;
2.伪集群模式:就是在一台物理机上运行多个Zookeeper 实例。
3.集群模式:Zookeeper运行于一个集群上,适合生产环境,
这里演示 集群模式,使用zookeeper-3.4.5.tar.gz 在VMware上开启三个linux机器
Ip分别是
server.0=192.168.0.120
server.1=192.168.0.111
server.2=192.168.0.117
关闭防火墙(service iptables stop)
上传zookeeper-3.4.5.tar.gz 到相对应的文件夹
并解压到 /usr/local/software/zookeeper-3.4.5
进入conf目录,修改配置文件
复制 zoo_sample.cfg文件并改名为zoo.cfg 命令: cp zoo_sample.cfg zoo.cfg
修改zoo.cfg文件
修改
为 /usr/local/zk/data(创建命令为 mkdir -p /usr/local/zk/data)
在末尾添加(这个ip设置成你的ip即可)
server.0=192.168.0.120:2888:3888
server.1=192.168.0.111:2888:3888
server.2=192.168.0.117:2888:3888
退出保存
在/usr/local/zk/data 文件夹下创建myid文件 并修改myid的内容 为下面相对应的值
server.0=192.168.0.120 即192.168.0.120 上的zk 的myid 0
server.1=192.168.0.111 即192.168.0.111上的zk 的myid 1
server.2=192.168.0.117 即192.168.0.117上的zk 的myid 2

把zk的几个变量添加到环境变量中

source /etc/profile
其他两个机器上的操作类似,最后开启三个zk服务器
zkServer.sh start



到这里,基本环境已经搭建完毕 。
关于zookeeper的数据结构(类似于linux的树形结构,读的性能很强大 一秒 10W+)

每一个节点被称为znode,znode可以有子节点,并且每个znode可以存储数据(但是:临时节点不可以有子节点)
每个节点都可以被监控,包含znode本身的数据变化,以及znode下的子节点的变化,都可以进行监控,这也是ZK的核心特性(后面会讲到)
从我们的安装过程,可以看出,zookeeper包含一个Leader(负责写) ,2个flower(负责读,参与leader的选举),其实还包含一个watcher(后面说)
我们可以直接通过 zkCli.sh命令 进入客户端进行操作
基本操作命令:

另外,我们可以通过eclipse 集成zookeeper插件来查看相关 数据
Step 1. 在 Eclipse 菜单打开Help -> Install New Software…
Step 2. 添加 url http://www.massedynamic.org/eclipse/updates/

Step 3. 选择插件并安装运行
Step 4. 在 Eclipse 菜单打开Window->Show View->Other…->ZooKeeper 3.2.2
Zookeeper系列1 快速入门的更多相关文章
- SpringBoot系列: RestTemplate 快速入门
====================================相关的文章====================================SpringBoot系列: 与Spring R ...
- Flask开发系列之快速入门
Flask开发系列之快速入门 文档 一个最小的应用 调试模式 路由 变量规则 构造 URL HTTP 方法 静态文件 模板渲染 访问请求数据 环境局部变量 请求对象 文件上传 Cookies 重定向和 ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 连接数据库执行SQL语句
BIML 101 - BIML 快速入门教程 第一节 连接数据库执行SQL语句 本小节将用BIML建一个简单的可以执行的包. 新建一个biml文件,贴入下面的代码 1 <Biml xmlns=& ...
- Maven系列之快速入门
文章结构 唯快不破---Maven快速入门 稳打稳扎---Maven核心知识 实用为先---Maven如何建立Web项目 1 唯快不破---Maven快速入门 1.1 Maven项目 ...
- Quartz.NET开源作业调度框架系列(一):快速入门step by step
Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...
- SpringBoot系列: JdbcTemplate 快速入门
对于一些小的项目, 我们没有必要使用MyBatis/JPA/Hibernate等重量级技术, 直接使用Spring JDBC 即可, Spring JDBC 是对 jdbc的简单封装, 很容易掌握. ...
- Quartz.NET开源作业调度框架系列(一):快速入门step by step-转
Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 将文本文件(csv)数据导进数据库
第二节 将文本文件数据导进数据库 该小节介绍如何用BIML生成ssis包,将货币文本导入到数据库currency的表中. SSIS组件: Connection Manager组建管理connectio ...
随机推荐
- sequelize查询数据的日期格式化
首先确定时区 const sequelize = new Sequelize(config.database, config.username, config.password, { host: co ...
- SpringMVC复习
第一天 springmvc.xml 一个配置文件,SpringMVC本身就是Spring的子项目,对Spring兼容性很好,不需要做很多配置. 这里只配置一个Controller扫描就可以了,让Spr ...
- HTML禁止鼠标右键的代码
禁止鼠标右键,把Demo的图片全都设为表格的背景,表格的大小与图片的大小一样.这样做看起来是一样的,主要是防止鼠标经过图片时会出现另存的按钮.禁止鼠标右键的代码很简单:<script LANGU ...
- 数据访问安全--数据库遮罩及断词 Data Masking & Tokenization
现在大数据时代几乎无隐私,各政府部门各公司都要求实名制(动不动手机认证,身份证号码认证),但又无力确保数据安全,称为乱象. 其实在2011年,我们就接触过数据库遮罩断词产品,一个澳大利亚公司产品. 简 ...
- 有哪些你不知道的python小工具
python作为越来越流行的一种编程语言,不仅仅是因为它语言简单,有许多现成的包可以直接调用. python中还有大量的小工具,让你的python工作更有效率. 1.- 快速共享 - HTTP服务器 ...
- uva-10041-水题
题意:有个人想找到个房子住,并且他经常去其他街道,输入n条街,给这个人选择一条街,使得他去其他街道的距离总和最小. 排序,双重for #include <string> #include& ...
- 《面向对象程序设计(java)》第七周学习总结
1.实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: (2)掌握Object类的常用API用法: (3)掌握ArrayList类用法与常用API: (4)掌握枚举类使用方法: (5)结合 ...
- zookeeper 集群部署
参考: https://www.cnblogs.com/linuxprobe/p/5851699.html
- leetcode581
public class Solution { public int FindUnsortedSubarray(int[] nums) { , end = -, min = nums[n - ], m ...
- pyqt5.0 GraphicsView框架
场景(The Scene) QGraphicsScene提供图形视图场景.该场景具有以下职责: 提供用于管理大量图元的快速界面(锅) 将事件传播到每个图元(把螃蟹烧熟了) 管理图元状态,例如选择和焦点 ...