zookeeper集群

ZooKeeper学习笔记2

亡梦爱人 提交于 2019-12-26 07:10:48
集群管理 Zookeeper 能够很容易的实现集群管理的功能,如有多台 Server 组成一个服务集群,那么必须要一个“总管”知道当前集群中每台机器的服务状态,一旦有机器不能提供服务,集群中其它集群必须知道,从而做出调整重新分配服务策略。同样当增加集群的服务能力时,就会增加一台或多台 Server,同样也必须让“总管”知道。 Zookeeper 不仅能够帮你维护当前的集群中机器的服务状态,而且能够帮你选出一个“总管”,让这个总管来管理集群,这就是 Zookeeper 的另一个功能 Leader Election。 它们的实现方式都是在 Zookeeper 上创建一个 EPHEMERAL 类型的目录节点,然后每个 Server 在它们创建目录节点的父目录节点上调用 getChildren ( String path, boolean watch) 方法并设置 watch 为 true,由于是 EPHEMERAL 目录节点,当创建它的 Server 死去,这个目录节点也随之被删除,所以 Children 将会变化,这时 getChildren 上的 Watch 将会被调用,所以其它 Server 就知道已经有某台 Server 死去了。新增 Server 也是同样的原理。 Q:是在server节点的上一层阶段创建EPHEMERAL 类型的目录节点

Hbase读写过程

回眸只為那壹抹淺笑 提交于 2019-12-25 22:39:08
1、读请求过程: meta表是hbase系统自带的一个表。里面存储了hbase用户表的元信息。 元信息为meta表内记录一行数据是用户表一个region的start key 到endkey的范围。 meta表存储在regionserver里。 具体存储在哪个regionserver里?zookeeper知道。 过程: 1.客户端到zookeeper询问meta表在哪 2.客户端到meta所在的节点(regionserver)读取meta表的数据 3.客户端找到region 获取region和regionserver的对应关系,直接到regionserver读取region数据 查看meta表信息 hbase(main):011:0> scan ‘hbase:meta’ 2、写请求过程: 1.Client先访问zookeeper,找到Meta表,并获取Meta表元数据。确定当前将要写入的数据所对应的HRegion和 HRegionServer服务器。 2.Client向该HRegionServer服务器发起写入数据请求。 3.Client先把数据写入到HLog,以防止数据丢失,然后将数据写入到Memstore。 4.Memstore达到阈值,会把Memstore中的数据flush到Storefile中 5.当Storefile越来越多,达到一定数量时,会触发Compact合并操作

Zookeeper的功能以及工作原理

倖福魔咒の 提交于 2019-12-24 22:08:08
1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户 2.ZooKeeper提供了什么? 1)文件系统 2)通知机制 3.Zookeeper文件系统 每个子目录项如 NameService 都被称作为znode,和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。 有四种类型的znode: 1、PERSISTENT-持久化目录节点 客户端与zookeeper断开连接后,该节点依旧存在 2、PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号 3、EPHEMERAL-临时目录节点 客户端与zookeeper断开连接后,该节点被删除 4、EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点 客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号 <ignore_js_op> 4.Zookeeper通知机制

Hadoop2.2.0 自动切换HA环境搭建

流过昼夜 提交于 2019-12-24 18:29:09
自动切换的HA,比手动切换HA集群多了一个zookeeper集群 机器分配:   zookeeper:hadoop4,hadoop5,hadoop6   namenode:hadoop4,hadoop5   datanode:hadoop4,hadoop5,hadoop6   journalnode:hadoop4,hadoop5,hadoop6,仅仅是为了实现HA,和集群没有任何关系,最少三个机器,奇数个   resourcemanager:hadoop4   nodemanager:hadoop4,hadoop5,hadoop6   zookeeper就是实现数据之间共享的,我们把数据提交到一个节点,这时候我们就可以同时在多个节点共享,能够保证数据传上去之后,原子性 1.1搭建zookeeper集群,启动zookeeper集群   1.1.1 在hadoop4上解压缩,重命名为zookeeper,把conf/zoo_sample.cfg重命名为conf/zoo.cfg     修改文件conf/zoo.cfg     (1) dataDir=/usr/local/zookeeper/data     (2) 增加以下内容:       server.4=hadoop4:2888:3888       server.5=hadoop5:2888:3888       server

Solr6.2.0 + zookeeper 集群配置

♀尐吖头ヾ 提交于 2019-12-24 06:42:35
zookeeper1 : 192.168.1.103 zookeeper2 : 192.168.1.104 zookeeper3 : 192.168.1.105 solr1 : 192.168.1.106 solr2 : 192.168.1.107 solr3 : 192.168.1.108 JDK安装目录:/data/jdk Solr安装目录:/data/SolrCloud/Solr/solr Solr配置文件目录:/data/SolrCloud/Solr/solr-config Solr数据文件目录:/data/SolrCloud/solr-cores Tomcat安装目录:/data/tomcat 除了安装JDK的目录不需要创建,其它目录都需要进行创建 6台集群全部安装 基础环境配置 tomcat jdk, 1. tomcat放置目录为 /data/tomcat 2. jdk 放置目录为 /data/jdk solr集群安装: 192.168.1.106 solr1服务器上操作 解压 solr-6.2.0.tgz ,并把solr.war解压到/data/SolrCloud/Solr/solr 目录下。 tar -zxvf solr-6.2.0.tgz mv /data/solr-6.2.0/server/solr-webapp/webapp /data/SolrCloud

Apache Kafka 消息队列篇

淺唱寂寞╮ 提交于 2019-12-24 05:02:55
概述 Kafka是Apache软件基金会的开源的流处理平台,该平台提供了消息的订阅与发布,能够基于Kafka实现对网络日志流实时在线处理,在这个维度上弥补了Hadoop的离线分析系统的不足。因为基于hadoop的MapReduce系统分析离线数据延迟较高,而且不支持动态数据处理和分析。Kafka的流处理平台不仅仅可以为离线系统储备数据(通常使用Kafka作为数据缓冲),而且Kafka自身也提供了一套数据流的处理机制,实现对数据流在线处理,比如: 统计。 消息队列的概念 可以用于系统间通讯的一个组件-middle ware(中间件),该组件可以用于做消息缓冲的中间件(持久化)解决一些 并发处理、数据库缓冲等实现对高并发的业务场景的削峰填谷。 使用消息队列的场景分析 1.异步消息发送: 使用Kafka MQ功能实现模块间异步通信,把一些费时的操作交给额外的服务或者设备去执行,这样可以提升系统运行效率,加速连接释放的速度,例如:用户注册模块,在用户注册成功后,业务系统需要给用户发送一个通知短信,通知用户登录邮箱去激活刚注册的用户信息。这种业务场景如图所示,因为短信通知和邮件发送是一个比较耗时的操作,所以在这里没必要将短信和邮件发送作为注册模块的流程,使用Message Queue功能可以将改业务和主业务注册分离,这样可以缩短用户浏览器和服务建立的链接时间,同时也能满足发送短信和邮件的业务

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

霸气de小男生 提交于 2019-12-24 04:07:27
从编程开发的角度来说,Apache Dubbo (以下简称 Dubbo)首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现在异构技术体系间作平滑迁移,解决大规模跨区域、多集群部署场景的地址发现及流量调度等问题。 面向接口代理的透明服务开发框架 我们还是从 Dubbo 是一个微服务开发框架 这个大家熟知的概念开始。就像 Spring 是开发 Java 应用的基础框架一样,我们经常会选用 Dubbo 作为开发微服务业的基础框架。Dubbo 框架的最大优势我认为就在其面向接口的编程模型,使得开发远程服务调用就像开发本地服务一样(以 Java 语言为例): 1、服务定义 public interface GreetingsService { String sayHi(String name); } 2、消费方调用服务 // 和调用本地服务一样,完全透明。 @Reference

Zookeeper 集群

别说谁变了你拦得住时间么 提交于 2019-12-23 17:56:47
Zookeeper Zookeeper介绍 Zookeeper 下载安装 将下载文件上传安装 Zookeeper介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集,提供Java和C的接口。 ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。 总结:Zookeeper负责服务的协调调度.当客户端发起请求时,返回正确的服务器地址 Zookeeper 下载安装 下载地址: http://mirrors.hust.edu.cn/apache/zookeeper/ 3.5.5以后版本下载带 bin 的包 zookeeper 依赖jdk运行 安装jdk 上传解压 配置环境变量 JAVA_HOME = /home/app/jdk JAVA_BIN = /home/app/jdk/bin PATH =

Kafka 单机部署

元气小坏坏 提交于 2019-12-23 17:30:46
Kafka 单机部署区分集成Zookeeper 部署和Zookeeper + Kafka 部署俩总方式,如果是单机部署Kafka,集成Zookeeper 最简单,也可以选择Zookeeper + Kafka 这种模式,但是如果为Kafka集群的话,则必须需要部署 Zookeeper 集群。 一. 获取解压 1. 下载 wget http://mirror.bit.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz 2. 解压kafka tar -zxvf kafka_2.11-0.10.1.1.tgz 二. 配置修改 1. 集成Zookeeper 配置修改方式 1.0 配置profile vi /etc/profile export KAFKA_HOME=/home/.../kafka_2.11-0.10.1.1 export PATH=$PATH:$KAFKA_HOME/bin source /etc/profile #配置生效 1.1 配置zookeeper.properties vi conf/zookeeper.properties dataDir=**** #根据自己情况设定 ckuebtPort=2291 1.2 配置server.properties vi server.properties log.dirs = ***

Kafka 集群部署

与世无争的帅哥 提交于 2019-12-23 14:47:11
Kafka 集群部署之前需要部署Zookeeper集群,关于Zookeeper集群的部署前面已经介绍过并且写了博客,需要了解的出门左拐就能看到 上篇文件介绍了Kafka的单机部署,讲了Kafka 集成Zookeeper部署及Zookeeper + Kafka 部署,还讲了Kafka的基本命令,本章节我们将一下 Kafka的集群部署。 1. 集群规划 主机规划: 10.200.3.85   Kafka-01 10.200.3.86   Kafka-02 10.200.3.87    Kafka-03 软件下载: #wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz #wget http://mirror.bit.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz 2. 基础配置 2.1 配置hosts vi /etc/hosts 10.200.3.85 Kafka-01 10.200.3.86 Kafka-02 10.200.3.87 Kafka-03 2.2 配置/etc/profile vi /etc/profile export KAFKA_HOME=/root/software/kafka_2.11-2.0