Zookeeper简介及安装(一)

1 Zookeeper入门
1.1 概述
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。

1.2 特点

1.3 数据结构

1.4 应用场景
提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

统一命名服务

统一配置管理

统一集群管理

服务器节点动态上下线

 软负载均衡

2 Zookeeper安装
2.1 本地模式安装部署
1.安装前准备
(1)安装Jdk
(2)拷贝Zookeeper安装包到Linux系统下
(3)解压到指定目录

[[email protected] mnt]# mkdir /opt/module/
[[email protected] mnt]# tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
zookeeper-3.4.10/
zookeeper-3.4.10/LICENSE.txt
zookeeper-3.4.10/lib/
zookeeper-3.4.10/lib/log4j-1.2.16.LICENSE.txt
zookeeper-3.4.10/lib/cobertura/
zookeeper-3.4.10/lib/cobertura/README.txt
zookeeper-3.4.10/lib/jline-0.9.94.LICENSE.txt

2.配置修改
(1)将/opt/module/zookeeper-3.4.10/conf这个路径下的zoo_sample.cfg修改为zoo.cfg;

[[email protected] conf]# mv zoo_sample.cfg zoo.cfg
[[email protected] conf]# vim zoo.cfg

(2)打开zoo.cfg文件,修改dataDir路径:
修改如下内容:
dataDir=/opt/module/zookeeper-3.4.10/zkData
(3)在/opt/module/zookeeper-3.4.10/这个目录上创建zkData文件夹

[[email protected] conf]# mkdir /opt/module/zookeeper-3.4.10/zkData

3.操作Zookeeper
(1)启动Zookeeper

[[email protected] zookeeper-3.4.10]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

(2)查看状态:

[[email protected] zookeeper-3.4.10]#  bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: standalone
[root@topcheer zookeeper-3.4.10]#

(4)启动客户端:

[[email protected] zookeeper-3.4.10]# bin/zkCli.sh
Connecting to localhost:2181
2019-12-17 21:42:58,170 [myid:] - INFO  [main:[email protected]] - Client environment:zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
2019-12-17 21:42:58,185 [myid:] - INFO  [main:[email protected]] - Client environment:host.name=topcheer
2019-12-17 21:42:58,186 [myid:] - INFO  [main:[email protected]] - Client environment:java.version=1.8.0_181
2019-12-17 21:42:58,194 [myid:] - INFO  [main:[email protected]] - Client environment:java.vendor=Oracle Corporation
2019-12-17 21:42:58,194 [myid:] - INFO  [main:[email protected]] - Client environment:java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
2019-12-17 21:42:58,194 [myid:] - INFO  [main:[email protected]] - Client environment:java.class.path=/opt/module/zookeeper-3.4.10/bin/../build/classes:/opt/module/zookeeper-3.4.10/bin/../build/lib/*.jar:/opt/module/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/module/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/opt/module/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/opt/module/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/opt/module/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/opt/module/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/opt/module/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/opt/module/zookeeper-3.4.10/bin/../conf:
2019-12-17 21:42:58,195 [myid:] - INFO  [main:[email protected]] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2019-12-17 21:42:58,195 [myid:] - INFO  [main:[email protected]] - Client environment:java.io.tmpdir=/tmp
2019-12-17 21:42:58,195 [myid:] - INFO  [main:[email protected]] - Client environment:java.compiler=<NA>
2019-12-17 21:42:58,195 [myid:] - INFO  [main:[email protected]] - Client environment:os.name=Linux
2019-12-17 21:42:58,195 [myid:] - INFO  [main:[email protected]] - Client environment:os.arch=amd64
2019-12-17 21:42:58,196 [myid:] - INFO  [main:[email protected]] - Client environment:os.version=3.10.0-957.el7.x86_64
2019-12-17 21:42:58,196 [myid:] - INFO  [main:[email protected]] - Client environment:user.name=root
2019-12-17 21:42:58,196 [myid:] - INFO  [main:[email protected]] - Client environment:user.home=/root
2019-12-17 21:42:58,196 [myid:] - INFO  [main:[email protected]] - Client environment:user.dir=/opt/module/zookeeper-3.4.10
2019-12-17 21:42:58,198 [myid:] - INFO  [main:[email protected]] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@277050dc
Welcome to ZooKeeper!
2019-12-17 21:42:58,240 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2019-12-17 21:42:58,392 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@876] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2019-12-17 21:42:58,467 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x16f140b9b8f0000, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]

(5)退出客户端:

[zk: localhost:2181(CONNECTED) 0] quit
Quitting...
2019-12-17 21:43:32,790 [myid:] - INFO  [main:[email protected]] - Session: 0x16f140b9b8f0000 closed
2019-12-17 21:43:32,793 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@519] - EventThread shut down for session: 0x16f140b9b8f0000
[root@topcheer zookeeper-3.4.10]#

(6)停止Zookeeper

[[email protected] zookeeper-3.4.10]# bin/zkServer.sh stop

2.2 配置参数解读
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:
1.tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)
2.initLimit =10:LF初始通信时限
集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。
3.syncLimit =5:LF同步通信时限
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。
4.dataDir:数据文件目录+数据持久化路径
主要用于保存Zookeeper中的数据。
5.clientPort =2181:客户端连接端口
监听客户端连接的端口。

原文地址:https://www.cnblogs.com/dalianpai/p/12057064.html

时间: 2024-11-05 17:28:55

Zookeeper简介及安装(一)的相关文章

Zookeeper简介和安装(二)

一.简介: Zookeeper是一个分布式协调服务,提供的服务如下: 命名服务:类似于DNS,但仅对于节点 配置管理:服务配置信息的管理 集群管理:Dubbo使用Zookeeper实现服务治理 分布式锁:选举一个leader,这样某一时刻只有一个服务在干活,当leader出问题时释放锁,立即切到另一个服务 二.下载: 点这里 三.伪分布式集群搭建: 1.进入C:\zookeeper-3.3.6\conf目录,将zoo_sample.cfg拷贝成3份,分别为:zoo1.cfg.zoo2.cfg.z

Dubbo与Zookeeper 简介

转自http://blog.csdn.net/congcong68/article/details/41113239 首先说一下Dubbo解决什么问题: (1)当服务越来越多时,服务Url配置管理变得非常困难,F5的硬件负载均衡器的单点压力也越来越大.此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明. (2)服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系. (3)服务的调用量越来越大,服务的容量问题就暴露

Ubuntu下部分软件的简介及其安装步骤

1.安装linux摄像头应用软件cheese sudo apt-get install cheese 2.Ubuntu Tweak    Ubuntu Tweak是一款专门为Ubuntu(GNOME桌面)准备的配置.调整工具.主要面向新手级的普通用户.它可以设置很多并不能在系统首选项中设置的隐藏选项,以满足用户自定义的乐趣.即使是新手,也可以方便地通过它来进行适合自己的系统调整.    安装命令:    第一步:添加tweak源 sudo add-apt-repository ppa:tuala

(转)ZooKeeper 笔记(1) 安装部署及hello world

ZooKeeper 笔记(1) 安装部署及hello world 先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Getting Started(开始入门) http://zookeeper.apache.org/doc/r3.4.6/zookeeperStarted.html Tutorial(教程) http://zookeeper.apache.

Node.js【4】简介、安装和配置、快速入门

笔记来自<Node.js开发指南>BYVoid编著 第1章 Node.js简介 Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为脚本语言世界的一等公民,在服务端堪与PHP.Python.Perl.Ruby平起平坐. Node.js可以作为服务器向用户提供服务,与PHP.Python.RubyonRails相比,它跳过了Apache.Nginx等HTTP服务器,直接面向前端开发. Node.js还可以调用C/C++的代码,这样可以充分利用已有的诸多函

Mahout学习之Mahout简介、安装、配置、入门程序测试

一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout) 步入正文啦: Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的

Grant简介以及安装

Grant简介以及安装 1.   安装Grunt-cli需要使用npm,全局安装  命令:npm install –g grunt-cli(可能会涉及权限问题) 注意,安装grunt-cli并不等于安装了 Grunt!Grunt CLI的任务很简单:调用与Gruntfile在同一目录中 Grunt. 这样带来的好处是,允许你在同一个系统上同时安装多个版本的 Grunt. 这样就能让多个版本的 Grunt 同时安装在同一台机器上. npm时node.js的包管理工具( Grunt基于Node.js

CAS系列:CAS Server简介与安装

CAS是什么? JA-SIG CAS 是一个企业级的.开源的基于Java2EE的SSO解决方案.它有多种用不同语言编写的客户端.CAS是由耶鲁大学(Yale)开发. CAS Server版本与Java版本 CAS 3.1 要部署CAS3.1,至少得JDK1.5 . On the Windows PC, building CAS has been tested with the following: JDK 1.5.0_8 and higher JDK 1.6 and higher On Linu

Git 学习笔记&lt;简介与安装&gt; (一)

Git,开源中国以及GitHub所使用的系统, Is A 一个分布式版本控制系统 Be Used to 为团队合作写代码提供方便的管理系统.几乎满足你所有关于合作写代码的幻想. Has 本地端:工作区.版本库 (版本库还含有一个暂存区) 远程仓库:版本库(用来储存版本库的服务器) How To Install Linux: 首先,先输入git,看看是否安装Git: $ gitThe program 'git' is currently not installed. You can install