ZooKeeper安装与运行
首先从官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录。“bin目录”中存放有运行脚本;“conf目录”中存放有配置文件;“lib目录”中存放有运行所需要第三方库。
一、standalone模式
1.1、编辑配置文件
在“conf”目录下,新建一个名为“zoo.cfg”的文件,其中内容如下:
tickTime=2000
dataDir=/home/dsl/tmp/zookeeper
clientPort=2181
- 1
- 2
- 3
- 1
- 2
- 3
1.2、运行ZooKeeper Server
执行bin/zkServer.sh start
命令,运行ZooKeeper Server进程,得到如图1所示结果,表示后台运行ZooKeeper Server进程成功。
图1
也可以执行bin/zkServer.sh start-foreground
命令,非后台运行ZooKeeper Server进程,得到如图2所示结果。
图2
1.3、运行ZooKeeper命令行客户端
执行bin/zkCli.sh -server 127.0.0.1:2181
命令,运行ZooKeeper命令行客户端,得到如图3所示界面,可以在其中调用操作Znode节点树的API。
图3
1.4、调用操作Znode节点树的API
进入“1.3、运行ZooKeeper命令行客户端”中得到的界面,调用操作Znode节点树的API。
1、获取初始Znode节点
初始时,存在路径标识为“/zookeeper”的Znode节点,该Znode节点保存一些元数据,不能被删除。
执行ls /
命令,可得到如图4所示结果。
图4
2、创建Znode节点
执行create /data "data"
命令,创建一个Znode节点,路径标识为“/data”,包含内容“data”。再执行ls /
命令,得到如图5所示结果。
图5
3、删除Znode节点
执行delete /data
命令,删除路径标识为“/data”的Znode节点。再执行ls /
命令,得到如图6所示结果。
图6
二、quorum模式
使用quorum模式有两种形式:1)使用多台机器,在每台机器上运行一个ZooKeeper Server进程;2)使用一台机器,在该台机器上运行多个ZooKeeper Server进程。在生产环境中,一般使用第一种形式,在练习环境中,一般使用第二种形式。
2.1、参数配置
quorum模式下,要使一个ZooKeeper Server进程能够正常运行,需要配置一些参数,以下是常见的一些参数。
1、data目录
用于存放进程运行数据。
2、data目录下的myid文件
用于存储一个数值,该数值用来作为该ZooKeeper Server进程的标识。
3、监听Client端请求的端口号
该端口号用来监听Client端请求。(关于“Client”见《ZooKeeper》 Chapter 2 Getting to Grips with ZooKeeper的图2)
4、监听同ZooKeeper集群内其他ZooKeeper Server进程通信请求的端口号
该端口号用来监听同ZooKeeper集群内其他ZooKeeper Server进程的通信请求。
5、监听ZooKeeper集群内“leader”选举请求的端口号
该端口号用来监听ZooKeeper集群内“leader”选举的请求。注意这个是ZooKeeper集群内“leader”的选举,跟分布式应用程序无关。
参数配置注意事项:
1)同一个ZooKeeper集群内,不同ZooKeeper Server进程的标识需要不一样,即myid文件内的值需要不一样
2)采用上述第2种形式构建ZooKeeper集群,需要注意“目录,端口号”等资源的不可共享性,如果共享会导致ZooKeeper Server进程不能正常运行,比如“data目录,几个监听端口号”都不能被共享
2.2、举例
采用上述第2种形式构建一个使用quorum模式的ZooKeeper集群,集群规划如表1所示。
表1
ZooKeeper Server进程标识(myid文件内数值) | data目录 | 监听Client端请求的端口号 | 监听同ZooKeeper集群内其他ZooKeeper Server进程通信请求的端口号 | 监听ZooKeeper集群内“leader”选举请求的端口号 | 配置文件名称 |
---|---|---|---|---|---|
1 | /home/dsl/bigdisk/apps/zookeeper-3.4.8/deploy/z1/data | 2181 | 2222 | 2223 | z1.cfg |
2 | /home/dsl/bigdisk/apps/zookeeper-3.4.8/deploy/z2/data | 2182 | 3333 | 3334 | z2.cfg |
3 | /home/dsl/bigdisk/apps/zookeeper-3.4.8/deploy/z3/data | 2183 | 4444 | 4445 | z3.cfg |
相应的目录结构如图1所示。
图1
“z1.cfg,z2.cfg,z3.cfg”这3个文件的文件内容分别如下所示。
# z1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dsl/bigdisk/apps/zookeeper-3.4.8/deploy/z1/data
clientPort=2181
# server.x中的“x”表示ZooKeeper Server进程的标识
# 同一个ZooKeeper集群内的ZooKeeper Server进程间的通信不仅可以使用具体的点IP地址,也可以使用组播地址
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
# z2.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dsl/bigdisk/apps/zookeeper-3.4.8/deploy/z2/data
clientPort=2182
# server.x中的“x”表示ZooKeeper Server进程的标识
# 同一个ZooKeeper集群内的ZooKeeper Server进程间的通信不仅可以使用具体的点IP地址,也可以使用组播地址
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
# z3.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dsl/bigdisk/apps/zookeeper-3.4.8/deploy/z3/data
clientPort=2183
# server.x中的“x”表示ZooKeeper Server进程的标识
# 同一个ZooKeeper集群内的ZooKeeper Server进程间的通信不仅可以使用具体的点IP地址,也可以使用组播地址
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
2.2.1、运行ZooKeeper Server
分别执行bin/zkServer.sh start deploy/z1/z1.cfg
,bin/zkServer.sh start deploy/z2/z2.cfg
和bin/zkServer.sh start deploy/z3/z3.cfg
命令,运行上述配置的3个ZooKeeper Server进程。
2.2.2、运行ZooKeeper命令行客户端
执行bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
命令,建立ZooKeeper Client端到ZooKeeper集群的连接会话。
2.2.3、调用操作Znode节点树的API
跟“1.4、调用操作Znode节点树的API”一样,可以在“2.2.2、运行ZooKeeper命令行客户端”中得到的界面内,调用操作Znode节点树的API。
备注:
根据《ZooKeeper》 Chapter 2 Getting to Grips with ZooKeeper可知,“ZooKeeper命令行客户端”本质上还是使用了Java版驱动程序库提供的API或者C版驱动程序库提供的API。
参考文献:
[1]https://zookeeper.apache.org/doc/r3.4.8/zookeeperStarted.html
[2]http://blog.csdn.net/dslztx/article/details/51077606
ZooKeeper安装与运行的更多相关文章
- Zookeeper安装及运行
zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper-3.4.9版本. ht ...
- Zookeeper安装和运行
安装环境: CentOS 7 内存1GB JDK版本:1.8.0_112 为JDK配置如下环境变量: 编辑/etc/profile.d/jdk.sh JAVA_HOME=/usr/local/jd ...
- Linux下zookeeper安装及运行
zookeeper下载地址:http://archive.apache.org/dist/zookeeper/ 安装 第一步:安装 jdk(此步省略,我给大家提供的镜像已经安装好JDK) 第二步:把 ...
- Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书
伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...
- ZooKeeper学习第二期--ZooKeeper安装配置
一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境:■ 伪集群模式:就是在一台物 ...
- zookeeper安装以及遇到的一些坑
最近项目中用到了storm,然后storm中用到了zookeeper,然后今天抽空整理一下zookeeper的安装使用,原来后期再慢慢学习. 本篇文档,操作部分是摘自其他博客,里边的问题分析是自己在实 ...
- 【Zookeeper系列】ZooKeeper安装配置(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...
- zookeeper安装和使用(Windows环境)
zookeeper安装和使用(Windows环境) 2017年11月27日 10:36:07 董昊炘的博客 阅读数:14785 标签: zookeeperwindows zookeeper 一.简 ...
- 【转载】ZooKeeper学习第二期--ZooKeeper安装配置
原文地址(https://www.cnblogs.com/sunddenly/p/4018459.html) 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及 ...
随机推荐
- soundPool播放短、频、快的声音
package com.example.soundpool; import android.media.AudioManager; import android.media.SoundPool; im ...
- VC动态轨迹画线
分类: 2.4 线程/图形学2010-04-30 22:14 1878人阅读 评论(0) 收藏 举报 文档null 这是一个绘制直线的简单绘图程序,能过实现动态轨迹画线,在拖动时产生临时线来表示可能画 ...
- leetcode——Search a 2D Matrix 二维有序数组查找(AC)
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- 09-使用for循环输出空心菱形(循环)
/** * 使用for循环输出空心菱形 * */ public class Test7 { public static void main(String[] args) { for (int i = ...
- C#压缩与解压
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Zookeeper从入门到精通(开发详解,案例实战,Web界面监控)
ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...
- SQL SERVER之数据查询
本篇主要解说查询语句,全部的演示样例都会依照以下这张表进行. stuID stuName age sex 11090241031 王小虎 21 男 11090241032 王小六 22 男 11 ...
- Phalcon资源文件管理(Assets Management)
资源文件管理(Assets Management)¶ Phalcon\Assets是一个让开发人员管理静态资源的组件,如管理css,javascript等. Phalcon\Assets\Manage ...
- <转载>CSS解决图片过大撑破DIV的方法
DIV+CSS网页内容中如果插入大于DIV层宽度显示,过大的图片将会撑破网页宽度显示从而网页严重变形,您是否遇到过?这里DIVCSS5给大家介绍几种解决图片撑破撑开网页DIV层方法. 图片撑破宽度解决 ...
- ASP.NET - TreeView
设置节点图片 : Windows资源管理器左侧的树型资源结构图中,各节点都有图片连接,例如磁盘的图片.光盘的图片和文件夹的图片等,使资源的表现更加形象.IEWebControls的TreeView控件 ...