Centos7 Zookeeper
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws
一.写在前面
ZK是一个高效的分布式协调服务,高可用的分布式管理协调框架。 朋友推荐一本书《从paxos到zookeeper》,对我帮助的确很大。
二.集群配置和踩坑
java安装和环境变量配置可以参考 http://www.cnblogs.com/tdws/p/4096300.html
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz 下载 tar -zxvf zookeeper-3.4.10.tar.gz 解压 mv zookeeper-3.4.10 /usr/local 剪切 mv zookeeper-3.4.10/ zookeeper 重命名
下面修改配置文件命名
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
dataDir=/usr/local/zookeeper/data
自行mkdir创建data文件夹。
server.1=your_ip:20881:30881
server.2=your_ip:20882:30882
server.3=your_ip:20883:30883
cp -r zookeeper/ zookeeper1
cp -r zookeeper/ zookeeper2
cp -r zookeeper/ zookeeper3
server.1=0.0.0.0:20881:30881
server.2=0.0.0.0:20882:30882
server.3=0.0.0.0:20883:30883
三.应用和小结
学习ZK一段时间,原生API比较难以使用,一般使用zkClient(dubbo依赖于此)和curator框架来操作ZK比较容易。 其典型应用场景包括以下几点:
1.数据发布与订阅
ZK在dubbo中作为注册中心的角色,服务方和调用方都在这里注册。举例来说明,我发布了一个dubbo service,消费者webapp引用这个服务
<dubbo:service interface="com.s2s.service.ItemService" ref="itemServiceImpl"/> 发布的服务
<dubbo:reference interface="com.s2s.service.ItemService" id="itemService"/> 引用服务(将使用RPC调用)
接下来去服务器上查看数据节点,

可以看到根目录上有dubbo节点,dubbo下有com.s2s.service.ItemService, 其节点下又有consumers和providers等。


服务提供者启动时向/dubbo/com.s2s.service.ItemService/providers目录下写入URL
服务消费者启动时订阅/dubbo/com.s2s.service.ItemService/providers目录下的URL。 并且向/dubbo/com.s2s.service.ItemService/consumers目录下写入自己的URL
监控中心启动时订阅/dubbo/com.s2s.service.ItemService/目录下的所有提供者和消费者URL。
所以dubbo监控中心,查看到消费者和服务提供者


2.负载均衡
3.命名服务
4.分布式通知和协调
5.集群管理与Master选举
比如SolrCloud管理。管理集群配置,监控集群状态,选举分片leader
6.分布式锁
7.分布式队列
本文主要是安装配置,分布式理论的学习还是比较好,接下来将会继续分享实践中的收获。
Centos7 Zookeeper的更多相关文章
- Centos7 ZooKeeper 安装过程
www.apache.org/dist/上可以下载Hadoop整个生态环境的组件,我下的Zookeeper3.4.6版本 我一般都是在一个虚拟机上将一.二步都做完,然后克隆出来,再到克隆出来的虚拟机上 ...
- CentOs7&zookeeper
下载安装包 wget http://www.apache.dataguru.cn/zookeeper/stable/zookeeper-3.4.6.tar.gz 解压 tar xzvf zookeep ...
- Centos7 zookeeper单机/集群安装详解和开机自启
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
- Centos7 Zookeeper 集群安装
1:安装java 环境 -openjdk* 2:zookeeper 安装 (官网 http://www.apache.org/dyn/closer.cgi/zookeeper/) 2.1 目录创建 自 ...
- Linux centos7 zookeeper集群搭建
Zookeeper集群搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的zookeeper服务,非真实环境. 真实环境下zookeeper集群会搭建在多个物理服务器上,并非单一的 ...
- CentOS7 Zookeeper 安装
集群部署 192.168.38.6 zk01192.168.38.7 zk02192.168.38.8 zk03 安装zookeeper,必须安装jdk. 1.下载 $ cd /usr/loca ...
- centos7 zookeeper集群的搭建
说明:该集群的搭建是为了服务于solr集群,请参考我的关于solr集群搭建的博客. 1.创建solr-cloud目录 mkdir /usr/local/solr-cloud 2.将解压的apache- ...
- Centos7:zookeeper安装,配置与使用
配置jdk环境 解压缩zookeeper的压缩包 配置 创建data目录 复制zoo_sample.cfg为zoo.cfg 修改confg/zoo.cfg中dataDir=**/data 常用命令 . ...
- Linux系统:centos7下搭建ZooKeeper3.4中间件,常用命令总结
本文源码:GitHub·点这里 || GitEE·点这里 一.下载解压 1.Zookeeper简介 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供 ...
随机推荐
- 《CLR via C#(第4版)》【PDF】下载
<CLR via C#(第4版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382189 via C#(第4版)>[PD ...
- 【java】反射简单示例
package 反射; public class Test反射 { public static void main(String[] args) { System.out.println(Runtim ...
- Thymeleaf引擎支持Multi Prefix
最近团队的一个项目在重构,希望引入Thymeleaf减少页面端的代码复杂性.在重构过程中,发现html文件需要保存在多个不同的目录中,但Thymeleaf缺省的实现不支持这种方式. 1 ...
- 【知了堂学习笔记】_String、StringBuffer与StringBuilder的区别
String Stringbuffer StringBuilder的区别: 1.string是字符串常量,且长度是不可改变的,Stringbuffer.stringBuilder是字符串变量 2.S ...
- K:java中properties文件的读写
Properties类与.properties文件: Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集的类,不过Properties有特殊 ...
- shiro Filter--拦截器
一 shiro自带的filter:下面主要叙述顺序是 NameableFilter->OncePerRequestFilter->AdviceFilter->PathMatching ...
- 使用 mysql PDO 防止sql注入
技巧: 1. php升级到5.3.6+,生产环境强烈建议升级到php 5.3.9+ php 5.4+,php 5.3.8存在致命的hash碰撞漏洞. 2. 若使用php 5.3.6+, 请在在PDO的 ...
- day9集合以及这段时间的总结 未完待续
随笔: # 可变类型:# 列表(可以存放多个值,可以按索引取值,是有序的),# 字典(字典里面是KEY:VALUE类型,key必须是不可变类型,不能按索引取值 因为它们是无序的,按KEY取值),# 集 ...
- Keras 学习之旅(一)
软件环境(Windows): Visual Studio Anaconda CUDA MinGW-w64 conda install -c anaconda mingw libpython CNTK ...
- 一个超级简单的demo带你走进redux的大坑
先上代码 import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import { createStor ...