zookeeper集群

kafka集群并测试其高可用性

廉价感情. 提交于 2019-12-03 01:35:00
kafka集群并测试其高可用性 介绍 Kafka 是由 Apache软件基金会 开发的一个开源流处理平台,由 Scala 和 Java 编写。Kafka是一种高吞吐量的 分布式 发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像 Hadoop 一样的 日志 数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过 Hadoop 的并行加载机制来统一线上和离线的消息处理,也是为了通过 集群 来提供实时的消息。 一、KAFKA 体系结构图: Producer: 生产者,也就是发送消息的一方。生产者负责创建消息,通过zookeeper找到broker,然后将其投递到 Kafka 中。 Consumer: 消费者,也就是接收消息的一方。通过zookeeper找对应的broker 进行消费,进而进行相应的业务逻辑处理。 Broker: 服务代理节点。对于 Kafka 而言,Broker 可以简单地看作一个独立的 Kafka 服务节点或 Kafka 服务实例。大多数情况下也可以将 Broker 看作一台 Kafka 服务器,前提是这台服务器上只部署了一个 Kafka 实例。一个或多个

分布式全文检索系统SolrCloud简介

十年热恋 提交于 2019-12-03 01:21:29
前言 本文简单描述SolrCloud的特性,基本结构和入门,基于Solr4.5版本。 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库。Solr是以Lucene为基础实现的文本检索应用服务。 SolrCloud是Solr4.0版本开发出的具有开创意义的基于Solr和Zookeeper的分布式搜索方案,或者可以说,SolrCloud是Solr的一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式,这些方式部署的Solr不具有SolrCloud的特色功能。 特色 SolrCloud有几个特色功能: 集中式的配置信息 使用ZK进行集中配置。启动时可以指定把Solr的相关配置文件上传Zookeeper,多机器共用。这些ZK中的配置不会再拿到本地缓存,Solr直接读取ZK中的配置信息。配置文件的变动,所有机器都可以感知到。 另外,Solr的一些任务也是通过ZK作为媒介发布的。目的是为了容错。接收到任务,但在执行任务时崩溃的机器,在重启后,或者集群选出候选者时,可以再次执行这个未完成的任务。 自动容错 SolrCloud对索引分片,并对每个分片创建多个Replication。每个Replication都可以对外提供服务。一个Replication挂掉不会影响索引服务。 更强大的是

Zookeeper系列(三):应用场景

▼魔方 西西 提交于 2019-12-03 01:10:36
Zookeeper被广泛应用于各种分布式集群场景中,比如Hadoop、Storm、Spark、Kafka等,要想学好大数据分析,不可避免的要用到大规模机器集群,了解和掌握Zookeeper的工作原理将会对学好大数据分析起到事半功倍的作用。 1、实时配置文件 Zookeeper可以作为互联网应用的实时配置开关,将配置信息设置在Zookeeper的node上,并在应用中设置Zookeeper的观察者,实时获取该node关联数据的变化,达到动态实时控制应用的配置信息的目的,实时调控生产环境各项参数。 在大型电商网站中,这种方式可用于节假日等流量爆发的场景,关闭某些不太重要的电商网站功能,降低并发量大爆发对服务器性能的冲击。 2、Kafka中使用 Kafka通过Zookeeper的使用提供给客户端负载均衡能力,每个Kafka客户端直接通过连接Zookeeper就能获得整个Kafka的配置信息。 Kafka将队列服务的机器注册在Zookeeper上,同时维护客户端列表,依靠负载均衡算法将客户端动态分配到合适的队列分区上,维持整个集群的负载均衡。客户端不需要预先知道当前的队列到底分配在哪个机器上,通过Zookeeper获取队列分配的动态变化。 3、Hadoop使用 在Hadoop1.x版本中Master是单节点模式,存在单点故障不支持热备份。Hadoop2

Redis Codis 部署安装

匿名 (未验证) 提交于 2019-12-03 00:44:02
背景 关于Redis的高可用除了只身的 Sentinel 和 Cluster 之外,还有一个用的比较多的是 Codis ,由于公司的Redis大部分都使用Codis,本文就针对Codis进行相关的安装部署进行说明,来好好的学习Codis。 介绍 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 ( 不支持的命令列表 ), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。与 Twemproxy 和 Redis Cluster 对比: Codis Twemproxy Redis Cluster resharding without restarting cluster Yes No Yes pipeline Yes Yes No hash tags for multi-key operations Yes Yes Yes multi-key operations while resharding Yes - No( details ) Redis clients supporting Any

kafka学习(八)

匿名 (未验证) 提交于 2019-12-03 00:39:02
                管理kafka 主题操作 1.在集群里创建一个主题需要用到3个参数。这些参数是必须提供的,尽管有些已经有broker级别的默认值。 主题名字,想要创建的主题的名字,主题名字可以包含字母,数字,下划线以及英文状态下破折号和句号。 复制系数,主题的副本数量 分区,主题的分区数量 指定主题配置 可以在创建时显式地指定复制系数或者对配置进行覆盖,通过向kafka-topic.sh 传递 --config参数来实现的。 主题创建的格式 kafka-topics.sh --zookeeper <zookeeper connect> --create --topic <string> --relipcation-fact <integer> -- partition <integer> 如果为集群指定了基于机架信息的副本分配策略,那么分区的副本会分布在不同的架构上。如果不需要基于架构信息的分配策略,可以指定参数 --disable-rack-aware 增加分区 kafak-topics.sh --zookeeper <zookeeper connect> --alter --topic <String> --partitions <integer> 只能增加分区,不能删除分区,如果删除分区,会导致数据不一致。 删除主题 如果一个主题不再使用,只要它还存在集群里面

zookeeper应用场景

匿名 (未验证) 提交于 2019-12-03 00:38:01
应用场景1-统一命名服务 应用场景2-配置管理 应用场景3-集群管理 》Zookeeper 不仅能够维护当前的集群中机器的服务状态,而且能够选出一个“总管”,让这个总管来管理集群,这就是 Zookeeper 的另一个功能 Leader Election 应用场景4-共享锁 共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得了这个锁,如果不是那么它就调用 exists(String path, boolean watch) 方法并监控 Zookeeper 上目录节点列表的变化,一直到自己创建的节点是列表中最小编号的目录节点,从而获得锁,释放锁很简单,只要删除前面它自己所创建的目录节点就行了。 应用场景5-队列管理 转载请标明出处: zookeeper应用场景 文章来源: zookeeper应用场景

kafka原理详解

匿名 (未验证) 提交于 2019-12-03 00:38:01
一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳。 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. producers通过网络将消息发送到Kafka集群,集群向消费者提供消息,如下图所示: 客户端和服务端通过TCP协议通信。Kafka提供了Java客户端,并且对多种语言都提供了支持。 Topics 和Logs 先来看一下Kafka提供的一个抽象概念:topic. 一个topic是对一组消息的归纳。对每个topic,Kafka 对它的日志进行了分区,如下图所示: 每个分区都由一系列有序的、不可变的消息组成,这些消息被连续的追加到分区中。分区中的每个消息都有一个连续的序列号叫做offset,用来在分区中唯一的标识这个消息。 在一个可配置的时间段内,Kafka集群保留所有发布的消息,不管这些消息有没有被消费。比如,如果消息的保存策略被设置为2天,那么在一个消息被发布的两天时间内,它都是可以被消费的。之后它将被丢弃以释放空间

记一次zookeeper集群无法启动的解决(踩坑)过程

匿名 (未验证) 提交于 2019-12-03 00:37:01
今天用自己写的脚本启动zookeeper集群(用hadoop102启动自己及hadoop103,hadoop104)的时候突然报错如下: Error contacting service. It is probably not running. 网上找了很久也没解决,查看zookeeper.out报的错误如下: Cannot open channel to 2 at election address hadoop103/192.168.10.103:3888 java.net.ConnectException: 拒绝连接 (Connection refused) 我ssh免密登录也配了,扑所迷离的问题.... 然后我查看自己写的脚本如下: #!/bin/bash echo "-------------------正在启动zookeeper集群-------- " ssh root@hadoop102 '/opt/module/zookeeper-3.4.6/bin/zkServer.sh start' ssh root@hadoop103 '/opt/module/zookeeper-3.4.6/bin/zkServer.sh start' ssh root@hadoop104 '/opt/module/zookeeper-3.4.6/bin/zkServer.sh start'

配置服务自启动,配置zookeeper服务,chkconfig方式

匿名 (未验证) 提交于 2019-12-03 00:37:01
需求 把zookeeper做成服务 验证zookeeper启动 进程2381 QuorumPeerMain说明zookeeper服务启动了 [root@es02 bin]# service zookeeper start ZooKeeper JMX enabled by default Using config: /home/hadoop/zk/zk/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@es02 bin]# jps 2408 Jps 2381 QuorumPeerMain [root@es02 bin]# 添加到开机自启动 >chkconfig --add zookeeper 这样三台机器启动之后,我们使用"zkCli.sh -server ip:port",发现可以连接上zookeeper集群。 文章来源: 配置服务自启动,配置zookeeper服务,chkconfig方式

Zookeeper安装手册

匿名 (未验证) 提交于 2019-12-03 00:37:01
本次集群安装的zookeeper版本为3.4.10,按照如下步骤进行安装。 Java版本为1.8,相关安装细节不在赘述,参考《JDK1.8安装搭建手册》。 Tar xvf * .tar .gz Export 配置系统的环境变量,并Source生效。 设置ssh的免密登录,并关闭zookeeper集群中每台机器的防火墙。 启动每台机器的zookeeper: zkServer.sh start 查看每台机器的zookeeper状态: zkServer .sh status 有如上信息即为运行正常。 7 ֹͣzookeeper 如果停止zookeeper,运行命令如下: zkServer.sh stop https://blog.csdn.net/wangxiaotongfan/article/category/6140063 文章来源: Zookeeper安装手册