Kafka适用大数据处理的原因: 管理Kafka的高容量 生产者读取和消费者写入的选择 消息压缩:生产者生成所有数据的压缩类型。压缩类型属性的值为none、GZIP、Snappy或1Z4. 消息batches:此属性特定于异步模式的生产者。小型的batches可以降低吞吐量,将batch大小设置为0将禁用batch大小。不推荐设置大的batch,大的batch会迫使分配更多的内存给生产者,导致内存的浪费。发送到同一个分区的消息被batch在一起,使用请求将它们发送给Kafka brokers,将其持久化到topic分区中。 异步发送:将producer.type的值设置为async,生产者将在内部使用AsyncProducer.---指定后台线程中消息的发送方式是异步的,可以运行生产者以batch的形式push数据,极大地提高broker的性能,但会增加丢失数据的风险。 Linger时间:生产者在可用的时候发送缓冲区,并且不等待任何其他触发器。 Fetch大小:这个feth.message.max.bytes属性是用来设置一个消费者可以读取的最大消息大小。 Kafka消息传递语义 三种类型: 大数据和Kafka常见的使用模式: ----作为流数据平台 (常见模式之一) Kafka数据源:RDBMS、Custom Apps、NoSQL、Search、Real Time Processing、Batch 一旦数据存储在Kafka topic中,它就可以用于数据搜索引擎、实时处理或警报,甚至可以进行批处理。 批处理引擎,例如Gobblin,从Kafka读取书,并使用Hadoop MapReduce在Hadoop中存储数据。实时处理引擎,如Storm可以读取数据。微批处理引擎,例如Spark可以读取Kafka topics的数据,并使用它们的分布式引擎处理记录。 Kafka和数据治理 Kafka的基本数据元素是Topic。 例如使用Apache Atlas和Apache Ranger 定义Kafka的治理框架。 有用的Kafka指标 Kafka生产者指标 响应速度:生产者将记录发送给Kafka broker,当一条消息被写入到一个副本以备请求时,broker确人。 请求速率:请求速率是生产者在给定时间内产生的记录数。 I/O等待时间:生产者发送数据,然后等待数据。 失败的发送速率:这使得消息请求的数量每秒都失败。 缓冲区总字节:这表示生产者在将数据发送给brokers之前可以使用的最大内存去缓冲数据。 压缩率:表示用于topic的批记录的平均压缩率。 Kafka消费者指标 records-lag-max:生产者当前偏移量和消费者当前偏移量之间的计算差值成为record lag. bytes-consumed-rate:表示消费者每秒消耗的字节数。 records-consumed-rate:定义每秒消费的消息数量。 fetch-rate:表示消费者每秒获取的记录数。 fetch-latency-max:表示获取请求所需的最长时间。
技术 0 0
评论区