`
xpenxpen
  • 浏览: 703957 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

zookeeper初步

阅读更多
1.概述
zookeeper是一个分布式协调系统,主要目的是为了减轻构建健壮的分布式系统的负担。应用场景有领导选举,崩溃检测,分布式队列和锁等。
zookeeper被应用在hbase/solr/kafka/dubbo等系统上。而且本人发现越来越多的分布式系统都开始采用zookeeper作为底层基础设施。

2.环境
Win7 64bit
JDK 1.7.0_72
zookeeper 3.4.6

3.起步试验

3.1 下载
http://zookeeper.apache.org/releases.html
本文写作时zookeeper最新版是3.4.6

3.2 运行服务端(单机模式)
cd conf
cp zoo_sample.cfg zoo.cfg


修改zoo.cfg
dataDir=D:/opensource/zookeeper/zookeeper-3.4.6/data


然后运行以下命令即启动服务端
cd ../bin
zkServer


3.3 运行客户端

zkCli

[zk: localhost:2181(CONNECTED) 1] create /workers "abc"
Created /workers
[zk: localhost:2181(CONNECTED) 2] ls /
[workers, zookeeper]
[zk: localhost:2181(CONNECTED) 3] create /workers/1 "abc1"
Created /workers/1
[zk: localhost:2181(CONNECTED) 4] quit

以上命令,创建了2个节点,分别是/workers 和/workers/1

4.ZooInspector
contrib目录下有一个简单的图形化界面,用来查看zookeeper节点。

cd contrib\ZooInspector
java -cp zookeeper-3.4.6-ZooInspector.jar;lib/*;../../zookeeper-3.4.6.jar;../../lib/* org.apache.zookeeper.inspector.ZooInspector


界面效果如下图,可以看到我们之前创建的2个节点以及节点内容。简单用用还是不错的。


5.Quorums模式(集群模式)
试了一下,windows下要用cygwin才能模拟。不然会出错。蛮坑爹的,对windows支持不好,不过也可以理解。
本次试验我们准备启动3个zookeeper服务。

5.1 准备3个服务各自的目录和myid文件
mkdir z1
mkdir z1\data
mkdir z2
mkdir z2\data
mkdir z3
mkdir z3\data
echo 1 > z1/data/myid
echo 2 > z2/data/myid
echo 3 > z3/data/myid

执行完以后记得手工打开myid文件看一下,1后面会多一个空格,记得去掉。另外两个2,3也一样,把空格去掉。

5.2 配置cfg
z1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/opensource/zookeeper/zookeeper-3.4.6/z1/data
clientPort=2181
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445


z2.cfg(和z1.cfg相同地方已省略,只列出不同点)
dataDir=D:/opensource/zookeeper/zookeeper-3.4.6/z2/data
clientPort=2182


z3.cfg
dataDir=D:/opensource/zookeeper/zookeeper-3.4.6/z3/data
clientPort=2183

注意上面的dataDir要用绝对路径,不然会报错(对windows支持不好,没办法)

5.3 启动服务端
这里要开3个cygwin
cd /cygdrive/d/opensource/zookeeper/zookeeper-3.4.6/
./bin/zkServer.sh start-foreground ./z1/z1.cfg
./bin/zkServer.sh start-foreground ./z2/z2.cfg
./bin/zkServer.sh start-foreground ./z3/z3.cfg


5.4 启动客户端
这里不要用cygwin,用dos命令即可。用了cygwin会出现输入不了命令的卡死问题。
zkCli -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183



  • 大小: 25 KB
分享到:
评论

相关推荐

    ZooKeeperDemo

    本工程用于初步研究ZooKeeper的应用 本工程编码方式:UTF-8 开发工具:Eclipse 参考博客:http://littlerich.top/2017/09/10/大数据_分布式服务框架zookeeper管理分布式环境中的数据/

    Zookeeper_DistributeLock_Demo.zip

    基于zookeeper的分布式锁实现Demo,可以直接使用.一个是初步实现功能,一个是改进可以直接使用的.建议使用改进版

    分布式专题-分布式协调服务01-初步认识Zookeeper

    初步认识Zookeeper 了解Zookeeper的核心原理 Zookeeper实践及与原理分析 Zookeeper实践之配合注册中心完成RPC手写 本节我们就讲第一个部分 初步认识Zookeeper 从架构的发展说起 以电商架构为例,早期我们是单一的...

    dubbo+zookeeper(maven)简单实现源码

    dubbo+zookeeper(maven)简单实现的项目源码,适合新手的初步了解,简单易懂~

    分布式专题-04分布式协调服务之Zookeeper实践及与原理分析

    目录导航前言数据存储基于Java API初探zookeeper的使用事件机制如何注册事件机制watcher 事件类型什么样的操作会产生什么类型的事件呢?事务的实现原理深入分析...初步认识Zookeeper 了解Zookeeper的核心原理 Zookee

    Rabbit:RPC框架,使用ZooKeeper,Netty,期待良好的设计

    Rabbit从头搭建一个RPC框架,初步打算使用Netty进行数据通信,后期可能会增加BIO和NIO的方式因为是小白入门级别,所以项目代号Rabbit1、首先,先解释下RPC:RPC = Remote Procedure Call ,远程过程调用,它能够通过...

    yan:使用Maven构建,整合Dubbo + Zookeeper + SpringMVC + Spring + MyBatis + Redis支持分布式的高效率便捷开发框架

    Yan项目简介(使用说明)注:全新微服务项目lion已经逐步开发,基于SpringCloud的一整套方案,详情请查看本项目是一整合整合Dubbo + Zookeeper + SpringMVC + Spring + MyBatis支持分布式的高效率快速开发RPC框架,...

    Java思维导图xmind文件+导出图片

    初步认识RabbitMQ及高可用集群部署 详解RabbitMQ消息分发机制及主题消息分发 RabbitMQ消息路由机制分析 RabbitMQ消息确认机制 Redis redis数据结构分析 Redis主从复制原理及无磁盘复制分析 Redis管道模式...

    NiFi学习实践.doc

    资源是关于nifi的一些初步涉猎,包括了单机安装nifi,使用内置的zookeeper安装集群nifi,和使用外部的zookeeper安装nifi,已经使用nifi做些简单的操作。

    亿万级搜索解决方案.docx

    通过本课程,可以让学员掌握Solr的安装配置,对java使用solr的技术SolrJ以及SpringDataSolr 有一个初步的认识 。课程重点讲解了亿万级搜索系统所涉及的Dubbox、Zookeeper集群、Solr集群、Nginx负载均衡和高可用等...

    Kafka的初步认识

    本文来自于csdn,Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统.早期两个应用程序间进行消息传递需要保证两个应用程序同时在线...

    【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识.rar

    对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践; 对于非 Java 初学者来说: 本文档...

    java_learning_practice:java进阶之路:面试高频算法,akka,多线程,NIO,Netty,SpringBoot,Spark && Flink等

    java_learning_practice学习java的积累示例:面试高频算法,akka,多线程,zookeeper,Disruptor,NIO,Netty,Thrift等项目组成收集总结初步&&大数据方向看到的优秀文章和系列博客;不定期更新pdf阿卡口味akka学习...

    Juice:分配任务管理系统

    初步调度,并提供结果查询和某些两种方法获取执行结果 分布式管理,所有耗时任务都在资源池中无状态调度。 任务查询,目前只开放通过接口查询任务的状态和结果。 最新版本:1.0-OPEN 入门 要求 Java8的 (可选) ...

    dubbo-kubernetes:Apache Dubbo与k8s集成

    初步思考 kubernetes是天然可作为微服务的地址注册中心,类似于zookeeper、Consul。 具体来说,kubernetes中的Pod是对于应用的运行实例,Pod的被调度部署/启停都会调用API-Server的服务来保持其状态到ETCD;...

    mxd-scroll-V2-server:冒险岛卷轴推算辅助网站(前分离分离+分布式服务)的替换工程

    初步 弹簧靴 Redis做部署 RabbitMQ将卷轴全选时的连续操作同步转换异步处理; MyBatis数据持久化; MySQL数据库 Dubbo + Zookeeper实现RPC调度和服务分割; 基于Docker容器部署; Nginx负载均衡。 前端 Vue; ...

    亲缘关系

    亲缘关系高性能RPC支持基于zookeeper,redis和url直连的服务注册订阅方案支持初步启动支持使用javassist技术替代反射提高方法调用性能支持负载均衡,包括:扩展,随机,一致性HASH等支持服务路由支持kinrpc,http,...

    微服务上云开发全套教材&实践

    本课程为微服务上云开发的指导课程,涵盖微服务架构解析、服务中心、路由网关、...2. 了解各个微服务组件的运行机理,初步掌握微服务开发能力; 3. 了解DevOps持续交付理念,学会使用DevCloud完成简单的敏捷开发实践。

Global site tag (gtag.js) - Google Analytics