zookeeper集群

zk集群搭建

别等时光非礼了梦想. 提交于 2020-01-19 19:59:03
## zookeeper基础知识、体系结构、数据模型 1、zookeeper是一个类似hdfs的树形文件结构, zookeeper可以用来保证数据在(zk)集 群之间的数据的事务性一致; 2、zookeeper有watch事件,是一次性触发的,当watch监视的数据发生变化时,通 知设置了该watch的client,即watcher 3、zookeeper有三个角色: Learner, Follower, Observer 4、zookeeper应用场景: 统一命名服务(Name Service) 配置管理(Configuration Management) 集群管理(Group Membership) 共享锁(Locks) 队列管理 ## 环境准备 zookeeper运行需要jdk的支持,所以需要配置jdk的环境变量,此处可以选择两种环境变量配置:全局&&局部。 全局:**/etc/profile**下配置全局的**JAVA_HOME和PATH**等环境信息 ```shell export JAVA_HOME=/usr/local/jdk1.8 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA

Dubbo(一) -- 初体验

笑着哭i 提交于 2020-01-19 19:04:35
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架。 一、Dubbo出现的背景   随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进;      1.当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。   2.当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。   3.接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器? 二、Dubbo架构       1.节点角色说明:    Provider: 暴露服务的服务提供方。    Consumer: 调用远程服务的服务消费方。    Registry: 服务注册与发现的注册中心。    Monitor: 统计服务的调用次调和调用时间的监控中心。    Container: 服务运行容器。    2.调用关系说明:    0. 服务容器负责启动,加载,运行服务提供者    1. 服务提供者在启动时,向注册中心注册自己提供的服务。    2. 服务消费者在启动时,向注册中心订阅自己所需的服务。    3.

Docker 创建zookeeer容器

删除回忆录丶 提交于 2020-01-19 18:32:46
今天搭建了一个使用docker搭建ZK 集群 首先镜像下载 docker pull zookeeper 当出现如下结果时, 表示镜像已经下载完成了: >>> docker pull zookeeper Using default tag: latest latest: Pulling from library/zookeeper e110a4a17941: Pull complete a696cba1f6e8: Pull complete bc427bd93e95: Pull complete c72391ae24f6: Pull complete 40ab409b6b34: Pull complete d4bb8183b85d: Pull complete 0600755f1470: Pull complete Digest: sha256:12458234bb9f01336df718b7470cabaf5c357052cbcb91f8e80be07635994464 Status: Downloaded newer image for zookeeper:latest 启动一个ZK命令 docker run --name my_zookeeper -d zookeeper:latest 今天要讲的是集群的搭建使用的是docker-compose所以先创建一个 docker

Apache Storm 2.0.0 LowLevel 新版

跟風遠走 提交于 2020-01-19 16:41:27
Apache Storm 2.0(新版) Storm是什么? Storm是免费开源的分布式实时计算系统,改系统在 2.0.0 之前改架构核心实现使用Clojure编程实现,在本次版本以后Storm底层实现做了重大的调整使用Java8重构了Storm。Storm是一个实时的流处理引擎,能实现对记录的亚秒级的延迟处理。Storm在 realtime analytics、online machine learning、continuous computation、distributed RPC、 ETL等领域都有应用。每秒中一个计算节点可以处理100万个Tuple记录。除此之外Storm还可以和现有的数据(RDBMS/NoSQL)以及 消息队列集成(Kafka)。 流计算 :将大规模流动数据在不断变化的运动过程中实现数据的实时分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。 主流流计算框架 :Kafka Streaming、Apache Storm、Spark Streaming、Flink DataStream等。 Kafka Streaming:是一套基于Kafka-Streaming库的一套流计算工具jar包,具有简单容易集成等特点。 Apache Storm/Jstorm:流处理框架实现对流数据流的处理和状态管理等操作。 Spark Streaming

zookeeper集群

≡放荡痞女 提交于 2020-01-19 15:23:29
Linux安装zookeeper 关闭防火墙命令:systemctl stop firewalld.service(重要) 1、首先把Windows的zookeeper-3.4.10-tar.gz文件放到Linux的usr文件下。 利用xshell实现window与Linux文件互传,新建会话,连接,主机:192.168.132.128(linux虚拟机打开setting ——network ——查看wired设置——查看ipv4的主机地址) 或者查看命令:ip addr 2、创建 /usr/zookeeper 文件夹。 mkdir -p /usr/zookeeper 3、将下载好的zookeeper-3.4.10.tar.gz压缩包放入到 /usrzookeeper 目录下 4、解压缩 zookeeper-3.4.10.tar.gz。 tar -zxvf zookeeper-3.4.10.tar.gz 5、进入到 /usr/zookeeper/zookeeper-3.4.10/conf 目录中。 cd zookeeper-3.4.10/conf/ 6、复制 zoo_sample.cfg 文件的并命名为为 zoo.cfg。 cp zoo_sample.cfg zoo.cfg 7、用 vim 打开 zoo.cfg 文件并修改其内容为如下。 # zookeeper 定义的基准时间间隔

kafka 基础知识梳理及集群环境部署记录

流过昼夜 提交于 2020-01-19 14:35:06
一、kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。 kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一,Kafka可以实现高效文件存储,实际应用效果极好。 1.1) kafka名词解释(架构的四个部分) - producer:生产者。 - consumer:消费者。 - topic: 消息以topic为类别记录,Kafka将消息种子(Feed)分门别类,每一类的消息称之为一个主题(Topic)。 - broker:以集群的方式运行,可以由一个或多个服务组成

ZooKeeper 03 - ZooKeeper集群的脑裂问题 (Split Brain问题)

僤鯓⒐⒋嵵緔 提交于 2020-01-19 08:39:24
目录 1 ZooKeeper的主从机制 2 什么是ZooKeeper的脑裂 2.1 脑裂现象的表现 2.2 为什么会出现脑裂 3 ZooKeeper如何解决"脑裂" 3.1 3种可行的思路 3.2 ZooKeeper采用的方法 3.3 ZooKeeper的具体解决思路 1 ZooKeeper的主从机制 Leader == Master, Follower == Slaver. 集群中的各个节点都会尝试注册为leader节点, 其他没有注册成功的则成为follower(随从)节点. 这些follower节点通过watcher(观察者)监控着leader节点: —— ZooKeeper内部通过心跳机制来确定leader的状态, 一旦leader节点出现问题, : 就能很快获悉并迅速通知其他follower节点, 这些follower节点得知消息之后将及时采取相关操作. 2 什么是ZooKeeper的脑裂 2.1 脑裂现象的表现 ZooKeeper集群中, 各个节点间的网络通信不良时, 容易出现脑裂(split-brain)现象: 集群中的节点监听不到leader节点的心跳, 就会认为leader节点出了问题, 此时集群将分裂为不同的小集群, 这些小集群会各自选举出自己的leader节点, 导致原有的集群中出现多个leader节点. —— 这就是脑裂现象. 2.2 为什么会出现脑裂

kafka

自闭症网瘾萝莉.ら 提交于 2020-01-19 08:28:17
学习kafka必会名词 producer:生产者,就是它来生产“鸡蛋”的。 consumer:消费者,生出的“鸡蛋”它来消费。 topic:你把它理解为标签,生产者每生产出来一个鸡蛋就贴上一个标签(topic),消费者可不是谁生产的“鸡蛋”都吃的,这样不同的生产者生产出来的“鸡蛋”,消费者就可以选择性的“吃”了。相当于“队列” broker:就是篮子了。 kafka的架构 一个典型的Kafka包含若干Producer,若干broker(Kafka支持水平扩展,一般broker越多,吞吐量越高),若干Consumer Group,以及一个zookeeper集群,通过zookeeper管理集群配置,选举leader,Producer使用push将消息发送到broker,Consumer使用pull模式从broker订阅并消费消息。 Kafka会为每一个Consumer Group保留一些metadata信息——当前消费的消息的position,也即offset。这个offset由Consumer控制。正常情况下Consumer会在消费完一条消息后递增该offset。 使用Consumer high level API时,同一Topic的一条消息只能被同一个Consumer Group内的一个Consumer消费,但多个Consumer Group可同时消费这一消息。 优化:

ZooKeeper原理及使用

喜夏-厌秋 提交于 2020-01-19 06:20:16
ZooKeeper是 Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeeper典型的应用场景。 ZooKeeper基本原理 1. 数据模型 如上图所示,ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,比如上图中第三层的第一个ZNode, 它的路径是/app1/c1。在每个ZNode上可存储少量数据(默认是1M, 可以通过配置修改, 通常不建议在ZNode上存储大量的数据),这个特性非常有用,在后面的典型应用场景中会介绍到。另外,每个ZNode上还存储了其Acl信息,这里需要注意,虽说ZNode的树形结构跟Unix文件系统很类似,但是其Acl与Unix文件系统是完全不同的,每个ZNode的Acl的独立的,子结点不会继承父结点的,关于ZooKeeper中的Acl可以参考之前写过的一篇文章《 说说Zookeeper中的ACL 》。 2.重要概念 2.1 ZNode 前文已介绍了ZNode

ZooKeeper原理及使用

冷暖自知 提交于 2020-01-19 06:19:54
ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。今天这篇文章分为三个部分来介绍ZooKeeper,第一部分介绍ZooKeeper的基本原理,第二部分介绍ZooKeeper提供的Client API的使用,第三部分介绍一些ZooKeeper典型的应用场景。 ZooKeeper基本原理 1. 数据模型 如上图所示,ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,比如上图中第三层的第一个ZNode, 它的路径是/app1/c1。在每个ZNode上可存储少量数据(默认是1M, 可以通过配置修改, 通常不建议在ZNode上存储大量的数据),这个特性非常有用,在后面的典型应用场景中会介绍到。另外,每个ZNode上还存储了其Acl信息,这里需要注意,虽说ZNode的树形结构跟Unix文件系统很类似,但是其Acl与Unix文件系统是完全不同的,每个ZNode的Acl的独立的,子结点不会继承父结点的,关于ZooKeeper中的Acl可以参考之前写过的一篇文章《 说说Zookeeper中的ACL 》。 2.重要概念 2.1 ZNode 前文已介绍了ZNode,