topic

kafka性能调优

只愿长相守 提交于 2020-01-28 23:40:24
https://blog.csdn.net/vegetable_bird_001/article/details/51858915 主要优化原理和思路 kafka是一个高吞吐量分布式消息系统,并且提供了持久化。其高性能的有两个重要特点: 利用了磁盘连续读写性能远远高于随机读写的特点; 并发,将一个topic拆分多个partition。 要充分发挥kafka的性能,就需要满足这两个条件 kafka读写的单位是partition,因此,将一个topic拆分为多个partition可以提高吞吐量。但是,这里有个前提,就是不同partition需 要位于不同的磁盘(可以在同一个机器)。如果多个partition位于同一个磁盘,那么意味着有多个进程同时对一个磁盘的多个文 件进行读写,使得操作系统会对磁盘读写进行频繁调度,也就是破坏了磁盘读写的连续性。 在linkedlin的测试中,每台机器就加载了6个磁盘,并且不做raid,就是为了充分利用多磁盘并发读写,又保证每个磁盘连续读写 的特性。 具体配置上,是将不同磁盘的多个目录配置到broker的log.dirs,例如 log.dirs=/disk1/kafka-logs,/disk2/kafka-logs,/disk3/kafka-logs kafka会在新建partition的时候,将新partition分布在partition最少的目录上

kafka 消费者分区策略

强颜欢笑 提交于 2020-01-28 06:21:38
分区分配策略:(当消费者组中的消费者增多或减少会触发分区分配策略) 一个consumer group中有多个consumer,一个topic有多个partition,所以必然会涉及到partition 的分配问题,及确定那个partition由哪个consumer来消费。 kafka中有两种分配策略,一是RoundRobin,一是Range(默认): RoundRObin是轮询分配给消费者: 假如:(1)topic的名字为topicA,有三个分区0,1,2,一个consumer gourp中有两个consumer分别是A,B那么这时候分配规则:A , topicA-0和topicA-2; B,topicA-1;轮询的方式进行的。 (2)topic的名字为topicB,topicA,分别有三个分区0,1,2,一个consumer gourp中有两个consumer分别是A,B那么这时候分配规则A订阅topicA,B订阅topicB(其实就是组订阅了topicA和B,这个是针对组进行订阅的):这时会根据topicAndPartition对象将分区进行重新处理,根据hash值将这两个的主题重新分配,分配为六个对象,在把这六个对象进行轮询给到组内的两个消费者。这个是针对组的。(RoundRobin分配策略) Range分配策略(针对topic进行分配的): (1

kafka 彻底删除 topic 及数据

会有一股神秘感。 提交于 2020-01-28 03:28:10
默认情况,当我们删除 topic 并不会真正删除,只是把队列标记为 marked for deletion 如果我们要彻底删除 topic 及数据,可采用一下方法 [方法一] 修改 kafka/conf/server.properties,增加 delete.topic.enable=true,然后重启 kafka,通过命令行删除 kafkfa 即可 ./kafka-topics.sh --delete --zookeeper localhost:2181 --topic test [方法二] 如果不增加 delete.topic.enable=true,则需要以下几个步骤: 1,通过命令行删除 topic ./kafka-topics.sh --delete --zookeeper localhost:2181 --topic test 2 删除 kafkfa 存储目录 通过 conf/server.properties 可知 kafka 日志目录 rm -rf test-0 3,彻底删除队列 登录 zookeeper 客户端 ls /brokers/topic rmr /brokers/topic/test rmr /config/topics/test rmr /admin/delete_topics/test 来源: CSDN 作者: magic_kid_2010 链接:

Kafka深度解析

只谈情不闲聊 提交于 2020-01-27 04:52:17
本文转发自 技术世界 , 原文链接   http://www.jasongj.com/2015/01/02/Kafka深度解析 背景介绍 Kafka简介   Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输 同时支持离线数据处理和实时数据处理 为什么要用消息系统 解耦 在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束 冗余 有些情况下,处理数据的过程会失败。除非数据被持久化,否则将造成丢失。消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。在被许多消息队列所采用的”插入-获取-删除”范式中,在把一个消息从队列中删除之前,需要你的处理过程明确的指出该消息已经被处理完毕,确保你的数据被安全的保存直到你使用完毕。 扩展性 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的

Python 使用python-kafka类库开发kafka生产者&消费者&客户端

僤鯓⒐⒋嵵緔 提交于 2020-01-27 04:33:28
使用python-kafka类库开发kafka生产者&消费者&客户端 By: 授客 QQ:1033553122 1. 测试环境 python 3.4 zookeeper-3.4.13.tar.gz 下载地址1: http://zookeeper.apache.org/releases.html#download https://www.apache.org/dyn/closer.cgi/zookeeper/ https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 下载地址2: https://pan.baidu.com/s/1dnBgHvySE9pVRZXJVmezyQ kafka_2.12-2.1.0.tgz 下载地址1: http://kafka.apache.org/downloads.html 下载地址2: https://pan.baidu.com/s/1VnHkJgy4iQ73j5rLbEL0jw pip-18.1.tar.gz 下载地址: https://pan.baidu.com/s/1VpYk8JvMuztzbvEF8mQoRw 说明:实践中发现,pip版本比较旧的话,没法安装whl文件 kafka_python-1.4.4-py2.py3-none-any.whl 下载地址1: https://pypi

Text-Mining-DataCamp-Introduction to Text Analysis in R

回眸只為那壹抹淺笑 提交于 2020-01-27 03:43:48
Text Analytics-DataCamp-Introduction to Text Analysis in R 1. Wrangling Text 1.1 Text as data (video) 1.2 Airline tweets data Instruction : # Load the tidyverse packages library(tidyverse) # Print twitter_data twitter_data # Print just the complaints in twitter_data twitter_data %>% filter(complaint_label == 'Complaint') 1.3 Grouped summaries Instruction : # Start with the data frame twitter_data %>% # Group the data by whether or not the tweet is a complaint group_by(complaint_label) %>% # Compute the mean, min, and max follower counts summarize( avg_followers = mean(usr_followers_count), min

Kafka 基本原理

筅森魡賤 提交于 2020-01-26 20:23:56
目录 简介Kafka架构Kafka存储策略Kafka删除策略Kafka brokerKafka DesignThe ProducerThe Consumer复制(Replication)日志压缩(Log Compaction)DistributionZookeeper协调控制开发环境搭建一些example参考 简介 Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 Kafka架构 它的架构包括以下组件: 话题(Topic):是特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名。 生产者(Producer):是能够发布消息到话题的任何对象。 服务代理(Broker):已发布的消息保存在一组服务器中,它们被称为代理(Broker)或Kafka集群。 消费者(Consumer):可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息。 https://images2015.cnblogs.com/blog/434101/201605/434101-20160514145613421-1488903046.png Kafka存储策略 1)kafka以topic来进行消息管理

Kafka 基本原理

核能气质少年 提交于 2020-01-26 18:36:16
目录 简介 Kafka架构 Kafka存储策略 Kafka删除策略 Kafka broker Kafka Design The Producer The Consumer 复制(Replication) 日志压缩(Log Compaction) Distribution Zookeeper协调控制 开发环境搭建 一些example 参考 简介 Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 Kafka架构 它的架构包括以下组件: 话题(Topic):是特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名。 生产者(Producer):是能够发布消息到话题的任何对象。 服务代理(Broker):已发布的消息保存在一组服务器中,它们被称为代理(Broker)或Kafka集群。 消费者(Consumer):可以订阅一个或多个话题,并从Broker拉数据,从而消费这些已发布的消息。 https://images2015.cnblogs.com/blog/434101/201605/434101-20160514145613421-1488903046.png Kafka存储策略 1

RocketMQ知识点汇总

流过昼夜 提交于 2020-01-26 14:02:18
目录 消息队列功能 解耦 异步 流量削峰 消息分发 不同类型的消费者 推模型DefaultMQPushConsumer 推模型实现原理 推模型流量控制 拉模型DefaultMQPullConsumer 拉模型的操作方式 不同类型的生产者 DefaultMQProducer 同步发送 异步发送 单向发送 延迟消息 分布式消息队列的协调者 NameServer 的功能 集群状态的存储结构 为何不用ZooKeeper 消息存储结构 顺序写 随机读 零拷贝 高可用 消费端的高可用 发送端的高可用 刷盘方式 异步刷盘 同步刷盘 配置方式 主从复制方式 同步复制 异步复制 配置方式 刷盘、主从复制方式小结 顺序消息 全局顺序消息 部分顺序消息 发送端 消费端 消息重复 消息优先级 创建多个Topic 创建多个MessageQueue 吞吐量优先 在Broker端进行消息过滤 通过Tag进行过滤 通过SQL表达式进行过滤 通过FilterServer进行过滤 提高Consumer处理能力 增加Consumer实例数量,增加消费线程数量 以批量方式消费 跳过非重要消息 提高Producer发送速度 通过OneWay方式发送 多个Producer同时发送 消息发送超时 消费失败 并发消费失败 顺序消费失败 死信队列 消息队列功能 解耦 异步 流量削峰 消息分发 消息分发如下,各个子系统(消费者组

转载:一文看懂-Kafka消息队列

浪子不回头ぞ 提交于 2020-01-26 01:26:12
添加链接描述@ TOC 一、Kafka简介 1.1 什么是kafka kafka是一个分布式、高吞吐量、高扩展性的消息队列系统。kafka最初是由Linkedin公司开发的,后来在2010年贡献给了Apache基金会,成为了一个开源项目。主要应用在日志收集系统和消息系统,相信大家之前也听说过其他的消息队列中间件,比如RabbitMQ、AcitveMQ,其实kafka就是这么一个东西,也可以叫做KafkaMQ。总之,Kafka比其他消息队列要好一点,优点也比较多,稳定性和效率都比较高,大家都说好,那就是真的好。 1.2 Kafka中的相关概念 在理解Kafka的相关概念之前,我们先来看一张图,这张图基本上包括了Kafka所有的概念,对于我们理解Kafka十分有帮助。 上图中包含了2个Producer(生产者),一个Topic(主题),3个Partition(分区),3个Replica(副本),3个Broker(Kafka实例或节点),一个Consumer Group(消费者组),其中包含3个Consumer(消费者)。下面我们逐一介绍这些概念。 1.2.1 Producer(生产者) 生产者,顾名思义,就是生产东西的,也就是发送消息的,生产者每发送一个条消息必须有一个Topic(主题),也可以说是消息的类别,生产者源源不断的向kafka服务器发送消息。 1.2.2 Topic(主题)