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 ...
随机推荐
- react使用ant-design组件库
新建项目并引入组件 1,全局安装脚手架 npm install -g create-react-app 2,新建项目 create-react-app reactantd 3,安装组件 npm ins ...
- Java的Finalizer引发的内存溢出
本文介绍的是Java里一个内建的概念,Finalizer.你可能对它对数家珍,但也可能从未听闻过,这得看你有没有花时间完整地看过一遍java.lang.Object类了.在java.lang.Obje ...
- selenium +chromdriver模块
1 selenium 模拟浏览器行为 2 chromdriver 对应的chrome浏览器驱动 下载地址 注意:chrome与chromdriver存在对应关系 以下错误就可能是版本不对应 ...
- ubuntu14.04 安装jdk1.8及以上
安装xmind1.8 碰到jvm版本太低的错误: Version 1.7.0_131 of the JVM is not suitable for this product. Version: 1.8 ...
- 几种流行Webservice框架
一. 几个比较流行的Webservice框架: Apache Axis1.Apache Axis2.Codehaus XFire.Apache CXF.Apache Wink.Jboss RESTE ...
- SELINUX工作原理
SELinux工作原理 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成 ...
- 关于tp5自动过滤index.php
在public/.htaccess 中输入这段代码即可实现过滤index.php <IfModule mod_rewrite.c> Options +FollowSymlinks -Mul ...
- python常见循环练习
第一题:求5的阶乘 # 方法1,递归 def jc(num): if num == 1: return 1 else: return num*jc(num-1) print(jc(5)) # 方法2, ...
- spring cloud 学习目录
1.spring cloud简单示例 2.spring cloud快速入门 3.spring cloud 常用 4.spring cloud 原理 5.spring cloud 源码分析 6.spri ...
- gdb 使用
2018年7月27日21:05:16 —— 多进程调试 1.follow_fork_mode 作用:在fork之后跟随父进程还是子进程 可以使用 show follow_fork_mode查看再for ...