kafka
kafka
紫金小飞侠
这个作者很懒,什么都没留下…
展开
-
kafka常用命令和参数
1.配置hosts文件cat /etc/hosts10.139.12.150 kafka310.139.12.15 kafka210.139.12.149 kafka12. 配置zookeeper#新建data文件夹存放日志mkdir /zookeeper/data#写节点对用id号cd /root/ysw/zookeeper/zk/dataecho 1 > /roo...原创 2020-04-15 19:03:34 · 1233 阅读 · 0 评论 -
kafka advertised.listeners和listeners的作用
listenerslisteners就是主要用来定义Kafka Broker的Listener的配置项。listeners是kafka真正bind的地址advertised.listenersadvertised.listeners参数的作用就是将Broker的Listener信息发布到Zookeeper中。是暴露给外部的listeners,如果没有设置,会用listeners。inter.broker.listener.nameinter.broker.listener.name:专门用于K原创 2021-08-26 16:45:49 · 14134 阅读 · 1 评论 -
kafka总结
1.kafka 保证消息不丢失保证最少一次 ,消息不丢失,可能会重复发送producer代码要使用带回调方法的发送api,消息重试后仍然发送失败先放入磁盘或者远程缓存,后续重发配置acks=allretries =3retry.backoff.ms=300 //重试间隔2.broker副本数大于1min.insync.replicas>1 //isr中的副本大于1,即ISR中最少2个副本,如果小于2个此分区不可用unclean.leader.election.原创 2021-08-12 17:58:40 · 157 阅读 · 0 评论 -
kafka 分区迁移
扩容kafka之后,针对扩容之前的topic进行重新平衡leader,Replicas,Isr【kafka运维】你真的懂数据迁移吗?分区副本重分配+注意事项+LogiKM简化迁移流程(1)Kafka的灵魂伴侣Logi-KafkaManger(4)之运维管控–集群运维(数据迁移和集群在线升级)1.broker间分区迁移生成分配计划获取kafka推荐的重分配策略生成分配计划新建一个json文件 move-json-file.json 文件名可随便取新建一个json文件,内容如下:(topic原创 2021-07-24 12:41:28 · 1855 阅读 · 1 评论 -
kafka Log存储解析以及索引机制
【kafka原理】kafka Log存储解析以及索引机制转载 2021-07-09 15:36:57 · 117 阅读 · 0 评论 -
每个 Apache Kafka 开发者都应该知道的5件事
每个 Apache Kafka 开发者都应该知道的5件事转载 2021-07-07 16:13:47 · 71 阅读 · 0 评论 -
kafka删除数据
Delete recordsKafka 将主题记录存储在磁盘上,即使消费者已经读取了这些数据,它也会保留这些数据。然而,记录不是存储在一个大文件中,而是按分区分为多个分段( segments),其中偏移量的顺序在同一主题分区的各个分段之间是连续的。由于服务器的存储不可能无限大,因此 Kafka 提供了一些设置,用于根据时间和大小来控制保留多少数据:控制数据保留的时间配置为 log.retention.hours ,默认为168小时(一周);log.retention.bytes 参数控制 segmen转载 2021-07-07 16:08:50 · 4779 阅读 · 0 评论 -
Marking Coordinator Dead!
log cleaner线程挂掉还有可能导致消费端出现:Marking Coordinator Dead!原因大概如下:log cleaner线程挂掉之后会导致磁盘上位移主题的文件越来越多(当然,大部分是过期数据,只是依旧存在),broker内存中会维护offsetMap,从名字上看这个map就是维护消费进度的,而这个map和位移主题的文件有关联,文件越来越多会导致offsetMap越来越大,甚至导致offsetMap构建失败(为什么会失败没有搞明白),offsetMap构建失败之后broker不会承认自转载 2021-07-06 16:25:51 · 763 阅读 · 0 评论 -
Group Coordinator 如何确定在哪个节点
Kafka消费者之Group Coordinator原理转载 2021-07-05 17:27:31 · 137 阅读 · 0 评论 -
Apache Kafka架构设计+部署 非常好的文章
Apache Kafka架构设计+部署原创 2021-07-05 10:30:11 · 86 阅读 · 0 评论 -
Kafka集群优化篇-调整broker的堆内存(heap)案例实操
Kafka集群优化篇-调整broker的堆内存(heap)案例实操转载 2021-06-17 17:24:07 · 580 阅读 · 0 评论 -
kafka架构以如何优化GC
上亿数据量下,Kafka是如何优化JVM GC问题的?转载 2021-06-17 17:16:57 · 104 阅读 · 0 评论 -
kafka精确一次消费实现(幂等)
精确一次消费实现从kafka的消费机制,我们可以得到是否能够精确的消费关键在消费进度信息的准确性,如果能够保证消费进度的准确性,也就保证了消费数据的准确性要求消费处理逻辑支持事务,消费处理逻辑+罗盘数据+提交offet 放在一个事务中消息的分区号和offset作为消息的唯一id存储数据容器具备幂等性:在数据存入的容器具备天然的幂等(比如ElasticSearch的put操作具备幂等性,相同的数据多次执行Put操作和一次执行Put操作的结果是一致的),这样的场景也可以使用手动提交的最少一次消原创 2021-05-27 22:41:37 · 596 阅读 · 0 评论 -
kafka 连接工具Kafka Tool 2.0.7
Kafka Tool 2.0.7(最新)版本超详细使用指北转载 2021-05-04 11:04:14 · 2094 阅读 · 0 评论 -
kafka log.dirs配置多个数据目录
kafka运行后添加多个数据目录当然直接停掉kafka然后移动部分partition数据文件夹到新目录做软链也可行,只是当删除该topic的时候也只会删除链接文件转载 2021-04-22 17:57:52 · 1914 阅读 · 0 评论 -
Kafka性能压测
Flink-Kafka性能压测全记录2.1 Producer相关参数 我们在producer涉及到性能的关键因素可能会存在如下几个:thread:我们测试时的单机线程数;bath-size:我们所处理的数据批次大小;ack:主从同步策略我们在生产消息时特别需要注意,是follower收到后返回还是只是leader收到后返回,这对于我们的吞吐量影响颇大;message-size:单条消息的大小,要在producer和broker中设置一个阈值,且它的大小范围对吞吐量也有影响;compress转载 2021-04-01 15:19:40 · 319 阅读 · 0 评论 -
DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优 参考价值高
DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优原创 2021-03-29 14:14:37 · 226 阅读 · 0 评论 -
Kafka监控:主要性能指标
Kafka监控:主要性能指标转载 2021-03-19 09:14:36 · 478 阅读 · 0 评论 -
kafka partition带来的问题
如何为Kafka集群选择合适的Partitions数量通常情况下,kafka集群中越多的partition会带来越高的吞吐量。但是,我们必须意识到集群的partition总量过大或者单个broker节点partition过多,都会对系统的可用性和消息延迟带来潜在的影响。 我们可以粗略地通过吞吐量来计算kafka集群的分区数量。假设对于单个partition,producer端的可达吞吐量为p,Consumer端的可达吞吐量为c,期望的目标吞吐量为t,那么集群所需要的partition数量至少为max(转载 2021-03-10 09:44:46 · 702 阅读 · 0 评论 -
kafka 确定分区数
我们可以粗略地通过吞吐量来计算kafka集群的分区数量。假设对于单个partition,producer端的可达吞吐量为p,Consumer端的可达吞吐量为c,期望的目标吞吐量为t,那么集群所需要的partition数量至少为max(t/p,t/c)。在producer端,单个分区的吞吐量大小会受到批量大小、数据压缩方法、 确认类型(同步/异步)、复制因子等配置参数的影响。经过测试,在producer端,单个partition的吞吐量通常是在10MB/s左右。在consumer端,单个partition的吞原创 2021-03-10 09:43:49 · 508 阅读 · 0 评论 -
kafka 生产者发送重试到不同分区
我这里的示例,实际就是某个broker不能访问了,但实际服务是还存在的。当某个消息发送失败时,协议层(kafka的发送逻辑)的重试逻辑是为这个消息对上一个分配的分区重试,而不是重新选择分区重试,因为协议层也不确定是不是用户又这个需求。那我这里是希望重新选择分区进行发送的,所以应该在我的业务层,接收到消息发送失败后,重新对消息入栈发送。至于怎么保证不会再去尝试同一个分区,这个跟具体的分区选择算法相关。config.Producer.Partitioner 决定了用什么方式再去选择分区。最简单的是直接使用ro原创 2021-03-09 22:45:37 · 455 阅读 · 0 评论 -
kafka保证消息顺序性
顺序保证Kafka 可以保证同一个分区里的消息是有序的。也就是说,如果生产者按照一定的顺序发送消息,broker 就会按照这个顺序把它们写入分区,消费者也会按照同样的顺序读取它们。1.单分区2.如果把 retries 设为非零整数,必须把 max.in.flight.requests.per.connection =1(客户端在单个连接上发送的未确认请求的最大数量)如果把 retries 设为非零整数,同时把 max.in.flight.requests.per.connection 设为比 1 大原创 2021-03-09 22:31:55 · 1189 阅读 · 0 评论 -
Kafka 优先副本
优先副本都为leader时此时集群的leader分配才是最理想的负载均衡。Kafka之优先副本Kafka优先副本选举原创 2021-03-08 22:44:59 · 227 阅读 · 0 评论 -
kafka的leader选举过程+再平衡
kafka的leader选举过程原创 2021-03-08 22:21:21 · 558 阅读 · 0 评论 -
快手实时处理系统存储架构演进之路--kafka+Hdfs+读写分离
kafka应用中的问题HDFS介绍kafka on HDFS将kafka的历史数据定期同步到HDFSkafka on HDF效果ClickHous原创 2021-03-06 22:46:55 · 394 阅读 · 0 评论 -
kafka集群规划
OS一般来说,对于运行Linux中的kafka集群不需要过多的OS以及kernel参数调整,但如下几种情况可以根据具体情况进行参考:文件描述符(fd): broker节点上fd限制可以参考(number_of_partitions)*(partition_size/segment_size)公式套接字缓冲区(socket buffer): 该参数可以增加多数据中心之间的数据传输(一般异地集群备份建议调整以增加吞吐)最大内存映射区域数(vm.max_map_count): 当kafka broke..原创 2021-03-06 18:55:59 · 594 阅读 · 0 评论 -
producer发送TimeoutException 异常
producer参数 buffer.memory 设置(吞吐量)该参数用于指定Producer端用于缓存消息的缓冲区大小,单位为字节,默认值为:33554432合计为32M。kafka采用的是异步发送的消息架构,prducer启动时会首先创建一块内存缓冲区用于保存待发送的消息,然后由一个专属线程负责从缓冲区读取消息进行真正的发送。商业环境推荐:消息持续发送过程中,当缓冲区被填满后,producer立即进入阻塞状态直到空闲内存被释放出来,这段时间不能超过max.blocks.ms设置的值,一旦超过,pr原创 2021-03-01 09:45:02 · 380 阅读 · 1 评论 -
Kafka Producer重试参数retries设置取舍
Kafka Producer重试参数retries设置取舍retries参数在版本0.11.3建议设置retries = Integer.MAX_VALUEmax.in.flight.requests.per.connection = 1该参数的设置已经在kafka 2.4版本中默认设置为Integer.MAX_VALUE;同时增加了delivery.timeout.ms(重试间隔)的参数设置...原创 2021-02-24 13:53:03 · 1006 阅读 · 1 评论 -
kafka磁盘使用规划
kafka占用磁盘空间过大转载 2021-02-10 10:13:22 · 205 阅读 · 0 评论 -
kafka发送失重试机制解读
kafka重试机制解读转载 2021-02-02 17:47:36 · 2158 阅读 · 1 评论 -
kafka 监控
指标的取名可以借鉴Prometheus 监控之 kafkaMonitoring Kafka转载 2021-01-29 14:13:06 · 81 阅读 · 0 评论 -
美团技术团队:基于SSD的Kafka应用层缓存架构设计与实现
基于SSD的Kafka应用层缓存架构设计与实现转载 2021-01-15 10:07:45 · 358 阅读 · 0 评论 -
kafka线上问题运维总结
1.kafka某节点kafka数据磁盘被写满现象:磁盘被写满后kafk挂掉无法启动。解决办法:如果有过期日志删除过去日志,再重启。如果没有过期日志,缩短此节点日志保存时间,删除不在保留时间内的日志。...原创 2021-01-12 10:53:03 · 2541 阅读 · 0 评论 -
kafka技术点简单总结
生产客户端1.生产日志分区问题发送消息时不指定分区或key值,不会产生数据只往一个分区里面发的现象,会均匀的分布。如果指定唯一key值会导致只往一个分区发消息。原创 2021-01-12 10:50:01 · 163 阅读 · 0 评论 -
可以动态修改的kafka 配置
可以动态修改的kafka 配置,不要重启即可生效对于单独broker动态修改配置:bin/kafka-configs.sh --bootstrap-server kafka2:6667 --entity-type brokers --entity-name 2 --alter --add-config log.cleaner.threads=2entity-name 2为broker id 号查看修改的配置:bin/kafka-configs.sh --bootstrap-server kaf原创 2021-01-11 19:54:44 · 3270 阅读 · 1 评论 -
pagecache kafka
聊聊page cache与Kafka之间的事儿转载 2021-01-11 10:33:43 · 676 阅读 · 0 评论 -
kafka配置机架信息后创建topic
指定机架kafka/config/server.properties指定broker机架信息。若设置了机架信息,kafka在分配副本时会考虑把某个分区的多个副本分配在多个机架上,这样即使某个机架上的broker全部崩溃,也能保证其他机架上的副本可以正常工作broker.rack=RACK1创建topic分区和副本分配策略topic创建之机架分配策略...原创 2021-01-05 11:24:22 · 560 阅读 · 0 评论 -
kafka技术总结
kafka在早期的版本中,为了获得极致的性能,在设计方面做了很多的牺牲,比如不保证消息的可靠性,可能会丢失消息,也不支持集群,功能上也比较简陋,这些牺牲对于处理海量日志这个特定的场景都是可以接受的。这个时期的 Kafka 甚至不能称之为一个合格的消息队列。但是,请注意,重点一般都在后面。随后的几年 Kafka 逐步补齐了这些短板,你在网上搜到的很多消息队列的对比文章还在说 Kafka 不可靠,其实这种说法早已经过时了。当下的 Kafka 已经发展为一个非常成熟的消息队列产品,无论在数据可...原创 2021-01-04 16:13:07 · 2220 阅读 · 0 评论 -
Kafka SASL/SCRAM+ACL(实测成功)
Kafka SASL/SCRAM+ACL实现动态创建用户及权限控制转载 2020-12-29 17:10:31 · 324 阅读 · 0 评论 -
Kafka设置系统运行日志输出路径
Kafka设置系统运行日志输出路径默认Kafka运行的时候都会通过log4j打印日志文件vi kafka-run-class.sh添加LOG_DIR=/root/ysw/kafka2-0/kafka/kafka/run-logs修改好重启kafka生效。原创 2020-12-10 10:51:39 · 1649 阅读 · 0 评论