zookeeper集群

Apache ZooKeeper

点点圈 提交于 2019-12-09 19:30:10
1 ZooKeeper 基本知识 1.1 ZooKeeper集群搭建 Zookeeper集群搭建指的是 ZooKeeper分布式模式 安装。通常由2n+1台servers组成。这是因为为了保证Leader选举(基于 Paxos算法 的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。 Zookeeper运行需要java环境,所以需要提前安装jdk。对于安装leader+follower模式的集群,大致过程如下: 配置主机名称到IP地址映射配置 修改ZooKeeper配置文件 远程复制分发安装文件 设置myid 启动ZooKeeper集群 1.2 ZooKeeper概述 Zookeeper是一个 分布式协调服务的开源框架 。主要用来解决分布式集群中应用系统的一致性问题。 ZooKeeper本质上是一个 分布式的小文件存储系统 提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。 简单的来说 就是文件系统+监听模式 1.3 ZooKeeper特性 1.全局数据一致:集群中每个服务器保存一份相同的数据副本,client无论连接到哪个服务器,展示的数据都是一致的,这是最 重要的特征; 2.可靠性:如果消息被其中一台服务器接受

ZooKeeper

梦想与她 提交于 2019-12-09 16:40:59
ZooKeeper ZooKeeper概念 Zookeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。 ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。 ZooKeeper特性 1.全局数据一致:集群中每个服务器保存一份相同的数据副本,client无论连接到哪个服务器,展示的数据都是一致的,这是最重要的特征; 2.可靠性:如果消息被其中一台服务器接受,那么将被所有的服务器接受。 3.顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。 4.数据更新原子性:一次数据更新要么成功(半数以上节点成功),要么失败,不存在中间状态; 5.实时性:Zookeeper保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。 ZooKeeper集群角色 Leader: Zookeeper集群工作的核心 事务请求(写操作)的唯一调度和处理者,保证集群事务处理的顺序性; 集群内部各个服务器的调度者。

Apache ZooKeeper之基本概念

两盒软妹~` 提交于 2019-12-09 16:04:07
1、 Zookeeper 基本知识 ZooKeeper 集群搭建 : Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由 2n+1 台servers 组成。 这是因为 为了保证Leader选举(基于 Paxos算法 的实现)能过得到多数的支持,所以 ZooKeeper集群的数量一般为奇数。 Zookeeper运行需要java环境,所以需要 提前安装jdk 。对于安装 leader +follower模式 的集群,大致过程如下: 配置主机名称到IP地址映射配置 修改ZooKeeper配置文件 远程复制分发安装文件 设置myid 启动ZooKeeper集群 如果要想使用Observer模式,可在对应节点的配置文件添加如下配置: peerType=observer 其次,必须在配置文件指定哪些节点被指定为Observer 如:server.1:node-1:2181:3181:observer 2、 ZooKeeper 概述 Zookeeper 是一个 分布式协调服务 的开源框架。主要用来解决分布式集群中应用系统的一致性问题。 ZooKeeper本质上是一个 分布式的小文件存储系统 。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

学习Zookeeper

旧时模样 提交于 2019-12-09 15:15:19
第1章 Zookeeper入门 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 1.2 特点 1.3 数据结构 1.4 应用场景 提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。 1.5 下载地址 1 .官网首页: https://zookeeper.apache.org/ 2.下载截图,如图5-5,5-6,5-7所示 图5-5 Zookeeper下载(一) 图5-6 Zookeeper下载(二) 图5-7 Zookeeper下载(三) 第2章 Zookeeper安装 2.1 本地模式安装部署 1.安装前准备 (1)安装Jdk (2)拷贝Zookeeper安装包到Linux系统下 (3)解压到指定目录 tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/ 2.配置修改 (1)将/opt/module/zookeeper-3.4.10/conf这个路径下的zoo_sample.cfg修改为zoo.cfg; mv zoo_sample.cfg zoo.cfg (2)打开zoo.cfg文件,修改dataDir路径: vim zoo.cfg 修改如下内容: dataDir=/opt/module/zookeeper-3.4.10/zkData (3

zookeeper应用——集中配置管理系统的实现

随声附和 提交于 2019-12-09 10:36:04
1 场景描述 参考 http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html ,实现自己的集中配置管理系统。 术语:配置管理( Configuration Management ) 一个带配置的服务程序,部署在若干台机器上,如果配置发生了变化,接下去要进行的操作是停止所有机器上的该程序,修改每一台机器上该程序对应的配置文件。 这个情景会有两个问题:第一,机器多了,逐个修改配置是一件不合理的运维;第二,配置一般是程序启动时读入的,所以配置修改后,程序应该重启。 配置管理在某些场合称“数据发布与订阅”,顾名思义就是将数据发布到 zk 节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,地址列表等就非常适合使用。 实际应用环境: 1. 索引信息和集群中机器节点状态存放在 zk 的一些指定节点,供各个客户端订阅使用。 2. 系统日志(经过处理后的)存储,这些日志通常 2-3 天后被清除。 3. 应用中用到的一些配置信息集中管理,在应用启动的时候主动来获取一次,并且在节点上注册一个 Watcher ,以后每次配置有更新,实时通知到应用,获取最新配置信息。 4. 业务逻辑中需要用到的一些全局变量,比如一些消息中间件的消息队列通常有个 offset ,这个 offset

Dubbox

馋奶兔 提交于 2019-12-08 21:18:34
 概述    bubbo是阿里提供的本个分步式的,面向服务治理的的soa框架。可以和zookeeper以及redis配合使用,实现服务的集群部署。    bubbox是当当网在原bubbo的基础上,扩展了其它功能。主要是增加了restful的支持,内嵌tomcat。引入支持基于Kryo和FST的Java高效序列化实现。        在Dubbox中主要存在三种角色:注册中心(Registry)、 提供者(Provider)、消费者(Customer)。    而作为分布式框架之一的Dubbox就能够实现消费方和提供方之间的远程调用,即对分别部署在不同服务器端的服务提供了一个相互交互的平台。 作者:TyCoding 链接:https://www.jianshu.com/p/d98a8ad082d7 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 编译及测试步骤:(以下步骤全在windows环境中完成) 1. 本机先安装github on Windows的客户端,将在path路径中,把git.exe加进去 2. 命令行下 git clone https://github.com/dangdangdotcom/dubbox 把代码拉到本地 3. mvn install -Dmaven.test.skip=true 跳过测试编译 4. 在本机

Kafka基础——集群搭建

眉间皱痕 提交于 2019-12-07 15:26:28
目录 Zookeeper的集群搭建 上传安装包 Kafka集群搭建 上传安装包 解压移动 在kafka 目录下创建 logs 文件夹 修改配置文件 集群操作 Kafka是强依赖与zookeeper集群的,所以需要先搭建Zookeeper集群。 Zookeeper的集群搭建 上传安装包 因为zookeeper需要java环境所以需要上传jdk和zookeeper的安装包,一般安装文件放在usr/opt目录下,这里我用的是jdk1.7、zookeeper3.4.5、和kafka0.11.0.0版本。 安装java同时配置java环境 1、解压缩到指定文件夹,我的习惯是在usr下新建app目录专门存放安装的文件。 tar zxvf jdk...... 然后移动到指定usr/app文件目录下 cp -rf jdk.../ /usr/app/java 2、配置环境变量 打开环境变量配置文件 vi /etc/profile 编辑配置文件:文件最后面追加该内容: #java export JAVA_HOME=/usr/app/jdk/jdk1.7.0_80 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 3

zk系列-c++下zookeeper使用实例

女生的网名这么多〃 提交于 2019-12-07 14:38:44
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。分布式应用可以使用它来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能。公司常用到的是Java服务集群的管理。 1.函数介绍 [cpp] view plain copy //create a handle to used communicate with zookeeper zhandle_t *zookeeper_init( const char *host, watcher_fn fn, int recv_timeout, const clientid_t *clientid, void *context, int flags) //create a node synchronously int zoo_create(zhandle_t *zh, const char *path, const char *value, int valuelen, const struct ACL_vector *acl, int flags, char *path_buffer, int path_buffer_len); //lists the children of a node synchronously. int zoo_wget_children(zhandle_t *zh, const char

spring cloud : 消息中间件kafka

风格不统一 提交于 2019-12-06 21:43:14
1. 安装Kafka 1. 下载JDK 、kafka(自带Zookeeper) http://mirrors.hust.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz 下载 ,解压到 D:\STS_ENV\kafka_2.11-1.0.0 (执行 bin 下的脚本,此处使用 windows 所以使用 windows/ 下的 bat 脚本) 2. 下载 SecureCRT 连接 查看服务器系统版本 cat /proc/version [root@T-mysql ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4 (Maipo) 1. 安装jdk 1.8.0_121 : =》上传到/opt目录 =》解压jdk ( tar-zxvf jdk-8u121-linux-x64.tar ) =》配置环境变量:vi /etc/profile添 加如下参数: export JAVA_HOME=/opt/jdk1.8.0_121 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar =》生效 source/etc

zabbix 3.4监控zookeeper3.4

送分小仙女□ 提交于 2019-12-06 18:37:47
zabbix3.4监控zookeeper zookeeper监控要点系统监控 这个监控linux系统以及修改linux服务器参数即可 内存使用量 ZooKeeper应当完全运行在内存中,不能使用到SWAP。Java Heap大小不能超过可用内存。 Swap使用量 使用Swap会降低ZooKeeper的性能,设置vm.swappiness = 0 网络带宽占用 如果发现ZooKeeper性能降低关注下网络带宽占用情况和丢包情况,通常情况下ZooKeeper是20%写入80%读入 磁盘使用量 ZooKeeper数据目录使用情况需要注意 磁盘I/O ZooKeeper的磁盘写入是异步的,所以不会存在很大的I/O请求,如果ZooKeeper和其他I/O密集型服务公用应该关注下磁盘I/O情况 ZooKeeper监控 zk_avg/min/max_latency 响应一个客户端请求的时间,建议这个时间大于10个Tick就报警 平均延迟/最小延迟/最大延迟 zk_outstanding_requests 排队请求的数量,当ZooKeeper超过了它的处理能力时,这个值会增大,建议设置报警阀值为10 堆积请求数 zk_packets_received 接收到客户端请求的包数量 收包数 zk_packets_sent 发送给客户单的包数量,主要是响应和通知 发包数 zk_max_file