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 快速入门的更多相关文章

  1. SpringBoot系列: RestTemplate 快速入门

    ====================================相关的文章====================================SpringBoot系列: 与Spring R ...

  2. Flask开发系列之快速入门

    Flask开发系列之快速入门 文档 一个最小的应用 调试模式 路由 变量规则 构造 URL HTTP 方法 静态文件 模板渲染 访问请求数据 环境局部变量 请求对象 文件上传 Cookies 重定向和 ...

  3. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

  4. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 连接数据库执行SQL语句

    BIML 101 - BIML 快速入门教程 第一节 连接数据库执行SQL语句 本小节将用BIML建一个简单的可以执行的包. 新建一个biml文件,贴入下面的代码 1 <Biml xmlns=& ...

  5. Maven系列之快速入门

    文章结构 唯快不破---Maven快速入门 稳打稳扎---Maven核心知识 实用为先---Maven如何建立Web项目  1   唯快不破---Maven快速入门       1.1 Maven项目 ...

  6. Quartz.NET开源作业调度框架系列(一):快速入门step by step

    Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...

  7. SpringBoot系列: JdbcTemplate 快速入门

    对于一些小的项目, 我们没有必要使用MyBatis/JPA/Hibernate等重量级技术, 直接使用Spring JDBC 即可, Spring JDBC 是对 jdbc的简单封装, 很容易掌握. ...

  8. Quartz.NET开源作业调度框架系列(一):快速入门step by step-转

    Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...

  9. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 将文本文件(csv)数据导进数据库

    第二节 将文本文件数据导进数据库 该小节介绍如何用BIML生成ssis包,将货币文本导入到数据库currency的表中. SSIS组件: Connection Manager组建管理connectio ...

随机推荐

  1. Entity Framework Code first 可能会导致循环或多个级联路径.

    用code first映射数据库报错 Introducing FOREIGN KEY constraint 'FK_dbo.Roles_dbo.SubSystems_SubSystemID' on t ...

  2. 删除文件夹下各级子目录中的.svn文件

    建立一个文本文件,取名为removeSvn.reg(扩展名由txt改为reg),内容如下 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHIN ...

  3. CMake,win10,64位,简单配置测试

    https://cmake.org/download/ 下载完成后,解压即可. 创建文件夹,文件路径自己选择: 这里,就近选择在桌面--创建HelloWorld档,在该文档下,分别创建CMakeLis ...

  4. 学习C++,应该循序渐进的看哪些书?

    在某博客上看到的一个C++书籍阅读清单,可以参考下: 阶段 1<Essential C++>这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C++编程.本书主要围绕一系列逐渐复 ...

  5. Idea中类上有叉的解决方法

    idea中类的头上出现X解决办法 ctrl+alt+s 在弹出的菜单上选择Compiler下的Excludes 右边会有 移除掉,点击ok, 重启idea就可以了

  6. docker 部署tomcat

    使用Docker搭建Tomcat运行环境 1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS ...

  7. 修改git以往历史中所有commit的name和email

    当换了新的电脑设备或者在 homestead 中使用 git 的时候:如果忘了 git config 设置用户名和邮箱:这样当 git commit 的时候就会使用设备名作为 git 用户名:或者我们 ...

  8. Linux网络编程学习(四) -----守护进程的建立(第三章)

    本文介绍一个例程daemon_init() #include <sys/types.h> #include <signal.h> #include <unistd.h&g ...

  9. Java中的包装数据类型

    基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long Long float Float do ...

  10. [Ting's笔记Day2]在Github用Jekyll创建自己的blog

    昨天工程师在我们共同的群组分享他的blog,他提到是使用Jekyll(一个简单静态blog网站生成器)架在github上的. 于是好奇的我决定照着关键字来搜寻一下,如法炮制做一个出来. 也可以放一份到 ...