zookeeper集群

zookeeper学习系列(1)

拟墨画扇 提交于 2019-11-27 06:26:57
什么是Zookeeper 1、zookeeper是基于 Apache协议,高可用,高可靠,分布式,开元的分布式环境协同工作系统 -----集群、Java、不需要其它套件、可以更任何其它的系统结合 2、提供实现同步(数据同步、状态同步)、配置管理(100台服务器公用相同的配置文件)、分组 和 命名等服务、 3、Google Chubby的开源实现 4、通过Java或C++调用 为什么使用Zookeeper 1、大部分分布式应用需要一个主控、协调器或控制器来管理屋里分布的子程序(如资源、任务分配等) 2、目前,自家开发类似于Zookeeper的服务 3、Zookeeper:提供通用的分布式锁服务,用以协调分布式应用。(通讯) Zookeeper与Hadoop的关系 1、Hadoop生态系统的一员 2、独立于Hadoop 来源: oschina 链接: https://my.oschina.net/u/562875/blog/285789

SolrCloud分布式集群部署步骤

百般思念 提交于 2019-11-27 06:09:10
Solr及SolrCloud简介     Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。     SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。它有以下几个特点: 集中式的配置信息管理。 自动容错。 近实时搜索。 查询时自动负载均衡。 将索引存储在HDFS上。 通过MR批量创建索引。     更多关于SolrCloud的相关介绍可参考以下链接: http://www.chepoo.com/solrcloud-introduction.html http://www.cnblogs.com/phinecos/archive/2012/02/10/2345634.html https://cwiki.apache.org/confluence/display/solr/SolrCloud 软件包准备 jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.62.tar.gz solr-5.2.1.tgz zookeeper-3.4.6.tar.gz

ActiveMQ+ZooKeeper搭建高可用集群

情到浓时终转凉″ 提交于 2019-11-27 05:34:34
一、说明   实际的应用中,一般为了应用的高可用性,都会搭建集群环境去处理。部署多台应用,这样,即使一台有问题,其他热备应用可以立马顶上,继续提供服务。   ActiveMQ的集群部署,基于zookeeper的应用程序协调服务和levelDB的持久化方案。   本文中,基于一个系统环境,搭建伪集群模式,通过不同端口的配置,达到集群安装的效果。   基本环境:jdk-7u80-linux-x64.tar.gz、Centos 6.9、zookeeper-3.4.12.tar.gz、apache-activemq-5.9.1-bin.tar.gz、Xshell。   应用部署:zookeeper启动3个应用实例,ActiveMQ部署3套应用实例,构成最小单元的集群部署   其中zookeeper的集群搭建,参见之前文章: https://www.cnblogs.com/eric-fang/p/9283904.html 二、ActiveMQ的集群配置   ActiveMQ的主从模型,是一种高可用的解决方案,在zookeeper中注册若干的ActiveMQ Broker,其中只有一台作为主机master对外提供服务,其他作为备份slave保持待机。当master出现问题导致宕机不能正常提供服务的时候,zookeeper通过内部选举,在众多slave中推举出一台作为master继续对外提供服务

Kafka的安装配置与测试

女生的网名这么多〃 提交于 2019-11-27 05:11:52
(一)安装与配置 安装列表 kafka_2.10-0.8.1.1.tar jdk1.7.0_51.tar 1 安装jdk 如果jdk已安装,可以跳过;没有安装的可以参照: http://blog.csdn.net/ouyang111222/article/details/50344135 2 安装kafka 1.2.1 解压kafka 我的集群有3台机器,ip分别为ip1、ip2、ip3,将kafka_2.10-0.8.1.1.tar分别拷贝至每个机器的/apps/svr/目录下,进行解压 tar -xf kafk a_2 . 10 - 0.8 . 1.1 .tar 1.2.2 配置/config/server.properties (1) broker.id # The id of the broker. This must be set to a unique integer for each broker. broker.id= broker.id为依次增长的:0、1、2、3、4,集群中唯一id;本文3台机器的对应关系设置如下: ip1 - - - - > 0 ip2 - - - - > 1 ip3 - - - - > 2 (2) port # The port the socket server listens on port = 9092 默认设置为9092 (3)

Linux搭建kafka集群并测试

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 05:11:10
Linux搭建kafka集群并测试 1 准备3台机器 1.1host配置 2 zookeeper配置 3 安装kafka 3.1 设置环境变量 3.2 修改改$KAFKA_HOME/config 目录下的server.properties文件 3.4 启动zookeeper和kafka 3.5 测试 1 准备3台机器 hostname ip server1 192.168.16.151 server2 192.168.16.152 server3 192.168.16.153 1.1host配置 #以server1为例 127.0.0.1 server1 192.168.16.151 server1 192.168.16.152 server2 192.168.16.153 server3 2 zookeeper配置 参考上篇博客 安装Zookeeper集群 3 安装kafka 3.1 设置环境变量 解压kafka后添加环境变量 #修改环境变量 sudo vim /etc/profile export JAVA_HOME=/usr/lib/java/jdk1.8.0_181 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=

zookeeper 集群

随声附和 提交于 2019-11-27 05:08:17
Zookeeper集群选举策略 Zookeeper集群选举原理 Zookeeper的角色 1.领导者(leader),负责进行投票的发起和决议,更新系统状态 2.学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票 3.Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度 4.客户端(client),请求发起方Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。 为了保证事务的顺序一致性,zookeeper采用了递增的事务id号(zxid)来标识事务。所有的提议(proposal)都在被提出的时候加上了zxid。实现中zxid是一个64位的数字,它高32位是epoch用来标识leader关系是否改变

zookeeper(三):java操作zookeeper

爱⌒轻易说出口 提交于 2019-11-27 05:07:04
引入jar包 首先要使用java操作zookeeper,zookeeper的javaclient 使我们更轻松的去对zookeeper进行各种操作,我们引入 zookeeper-3.4.5.jar 和 zkclient-0.1.jar 即可。 zookeeper-3.3.4.jar 为官方提供的javaApi,zkClient-0.1jar为在源生api基础上进行扩展的开源JAVA客户端。 创建会话方法:客户端可以通过创建一个zookeeper实例来链接zookeeper服务器。 构造方法 Zookeeper(Arguments)方法(一共4个构造方法,根据参数不同) 参数说明如下: connectString :连接服务器列表,已“,”分割。 sessionTimeOut :心跳检测时间周期(毫秒) watcher :事件处理通知器。 canBereadOnly :标识当前会话是否支持只读。 sessionId和sessionPasswd :提供连接zookeeper的sessionId和密码,通过这两个确定唯一一台客户端,目的是可以提供重复会话 注意: zookeeper客户端和服务器端 会话的建立是一个 异步 的过程,也就是说在程序中,我们程序方法在处理完客户端初始化后,立即返回(程序往下执行代码,这样,大多数情况下我们并没有真正构建好一个可用会话,在会话的声明周期处于

单机版ZooKeeper的安装教程

こ雲淡風輕ζ 提交于 2019-11-27 03:44:08
之前一直没有时间去整理,现在抽出几分钟时间整理以下,有问题的在评论区留言即可。 前期准备 JDK环境(ZK需要jdk进行编译,本文以jdk1.8.0_211为例)、Linux系统(本文以Centos7为例)、zookeeper安装包(通过zookeeper官网下载,本文以3.5.5版本为例) 。 Zookeeper的安装(使用安装包,否则无法启动) 1、下载zookeeper安装包 进入zookeeper官网选择下载链接如下: https://www-eu.apache.org/dist/zookeeper/ 选择最新稳定版本3.5.5,选择下载apache-zookeeper-3.5.5-bin.tar.gz,文件说明: 1) apache-zookeeper-3.5.5.tar.gz 源码包 2) apache-zookeeper-3.5.5-bin.tar.gz 安装包 或者直接通过 wget http://mirror.bit.edu.cn/apache/zookeeper/current/apache-zookeeper-3.5.5-bin.tar.gz 下载安装包。 解压完成后 进入我们的Linux下/etc/profile文件增加环境变量: export ZOOKEEPER_HOME=zookeeper安装路径,并加入PATH下 如图所示,完成后保存退出

kafka学习笔记:知识点整理

心已入冬 提交于 2019-11-27 03:43:54
一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 3.扩展性 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可。 4.灵活性 & 峰值处理能力 在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见。如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。 5.可恢复性 系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。 6.顺序保证 在大多使用场景下,数据处理的顺序都很重要。大部分消息队列本来就是排序的,并且能保证数据会按照特定的顺序来处理。(Kafka 保证一个 Partition 内的消息的有序性) 7.缓冲 有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。 8

Zookeeper集群搭建

我是研究僧i 提交于 2019-11-27 03:15:07
注意: Zookeeper 集群的机器个数要求是奇数,且不少于 3 台 三台机器 192.168.119.150 192.168.119.151 192.168.119.152 设置主机名【三台机器】 vim /etc/hostname wal150 vim /etc/hosts 192.168.119.150 wal150 192.168.119.151 wal151 192.168.119.152 wal152 cd /usr/local/software scp zookeeper-3.4.6.tar.gz 192.168.119.151:/usr/local/software/ scp zookeeper-3.4.6.tar.gz 192.168.119.152:/usr/local/software/ 解压【三台机器】 cd /usr/local/software tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/ cd /usr/local mv zookeeper-3.4.6/ zookeeper 添加全局环境变量【三台机器】 vim /etc/profile 添加 export ZOOKEEPER_HOME=/usr/local/zookeeper 修改 export PATH=$JAVA_HOME/bin: