kafka 集群

在kafka中,我们能创建多种类型的集群,一般如下:

  • 单节点——单个broker集群
  • 单节点——多broker集群
  • 多结点——多broker集群

kafka集群中主要有五个组件:

  • Topic:主题主要用于用一个名字标识生产者往kafka发送了什么类型的消息,作为消息归类的标识唯一键。在kafka中,主题被分区,消息按照顺序被切成几个分区存放,分区是以log文件的形式保存在集群中的。每一条消息在分区中被分配唯一标识符,这个叫offset(偏移量),可以类比于数组,kafka的消息在集群中保存类似于分段的数组,数组下标对应于offset。
  • Broker:众所周知,kafka集群是由一个或者多个服务器组成的,每个服务器上可能有一个或者多个服务进程,那么这种服务进程,就叫做broker。Topic被创建在这样的broker里面。
  • Zookeeper:zk服务是作为一个协调者出现的,主要用于协调broker和消费者。zk官网给出这样的描述:ZooKeeper allows distributed processes to coordinate with each other through
    a shared hierarchical name space of data registers (we call these registers
    znodes), much like a file system.然而,zk和标准的文件系统区别在于,zk是受限的文件系统,每个zk结点能够单独分配数据,并且数量受限,zk只能用于存储协调数据:状态信息、配置、本地信息等等。
  • 生产者:生产者用于发布数据,选择某个topic合适的分区进行发送。为了负载均衡,消息分配给分区的策略可能采用轮询或者自定义函数(hash)。
  • 消费者:用于消费数据。
时间: 2024-12-14 03:31:32

kafka 集群的相关文章

ELK5.3+Kafka集群配置

[一]资源准备 # 3台4C*8G, 安装Zookeeper.Kafka.Logstash--Broker(input: filebeat; output: Kafka) 10.101.2.23 10.101.2.24 10.101.2.25 # 2台4C*8G, 安装Logstash--Indexer(input: Kafaka; output: Elasticsearch) 10.101.2.26 10.101.2.27 # 3台8C*16G, 安装Elasticsearch 10.101.

如何为Kafka集群选择合适的Partitions数量

转载http://blog.csdn.net/odailidong/article/details/52571901 这是许多kafka使用者经常会问到的一个问题.本文的目的是介绍与本问题相关的一些重要决策因素,并提供一些简单的计算公式. 文章目录 1 越多的分区可以提供更高的吞吐量 2 越多的分区需要打开更多地文件句柄 3 更多地分区会导致更高的不可用性 4 越多的分区可能增加端对端的延迟 5 越多的partition意味着需要客户端需要更多的内存 6 总结 越多的分区可以提供更高的吞吐量 首

kafka集群维护

kafka集群基本信息实时查看和修改: 集群信息实时查看(topic工具) kafka-topics,sh --list --zookeeper x.x.x.x kafka-topics.sh --describe --zookeeper x.x.x.x --topic topic_name 集群信息实时修改(topic工具) 提高topic并发,通过增加topic的partition数来解决. 现在我们搭建了一个集群,怎么知道每个节点的信息呢?运行""describe topics&

KAFKA集群搭建

一.简介 Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spark都支持与Kafka集成.   Kafka适合做什么? 官方文档介绍,它通常被使用在两大类应用中: 搭建实时数据流管道,在系统或应用之间可靠的获取数据 搭建对数据流进行转换或相应的实时流应用程序.   为了了解Kafka具体如何实现这些功能, 首先理解几个概

Kafka集群环境搭建

Kafka介绍 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. KAFKA + STORM +REDIS 1.Apache Kafka是一个开源消息系统,用Scala写成. 2.Kafka是一个分布式消息队列:生产者.消费者的功能.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现. 3.Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接收者成为Consumer,此外Kafka集群由多个Ka

kafka集群安装

集群安装1.解压2.修改server.propertiesbroker.id=1zookeeper.connect=work01:2181,work02:2181,work03:2181 3.将zookeeper集群启动 4.在每一台节点上启动brokerbin/kafka-server-start.sh config/server.properties 5.在kafka集群中创建一个topicbin/kafka-topics.sh --create --zookeeper work01:218

kafka集群搭建和使用Java写kafka生产者消费者

 kafka集群搭建 Java代码   1.zookeeper集群  搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties broker.id=110 host.name=192.168.1.110 log.dirs=/usr/local/kafka_2.10-0.8.2.0/logs 复制到其他两个节点,然后修改对应节点上的config/server.pro 3.启动,在三个节点分别执行 bin/kaf

kafka学习(三)-kafka集群搭建

kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 kafka 服务器,kafka集群需要依赖zookeeper集群,上一篇已经说道了zookeeper的搭建,方法请参考:http://www.cnblogs.com/chushiyaoyue/p/5615267.html 1.环境准备 测试服务器(2n+1)奇数台 192.168.181.128 ce

Kafka集群部署

一. 关于kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决. 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案.Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费. 关于Kafka的

Kafka集群安装与扩容

介绍略 集群安装: 一.准备工作: 1.版本介绍: 目前我们使用版本为kafka_2.9.2-0.8.1(scala-2.9.2为kafka官方推荐版本,此外还有2.8.2和2.10.2可以选择) 2.环境准备: 安装JDK6,目前使用版本为1.6,并配置JAVA_HOME 3.配置修改: 1)拷贝线上配置到本地kafka目录. 2)需要注意的是server.properties里broker和ip的指定,必须要唯一. 3)server.properties中log.dirs必须要手动指定.此配