wordpress如何设置支付,专业网站seo优化公司,网络营销收获与体会,wordpress伪静态 加速文章目录 Zk中存储的kafka的信息Kafka Broker总体工作流程1. broker启动后向zk中注册2. Controller谁先启动注册#xff0c;谁说了算3. 由选举出来的Controller监听brokers节点的变化4. Controller决定leader选举5. Controller将节点信息上传到Zk中6. 其他Controller从zk中同步… 文章目录 Zk中存储的kafka的信息Kafka Broker总体工作流程1. broker启动后向zk中注册2. Controller谁先启动注册谁说了算3. 由选举出来的Controller监听brokers节点的变化4. Controller决定leader选举5. Controller将节点信息上传到Zk中6. 其他Controller从zk中同步相关信息消息的发送和存储7. 假设Broker1中的Leader挂了8 Controller监听到节点变化9 获取 ISR10 选举新的Leader11 . 更新Leader 和 ISR 实例模拟Broker重要参数 Zk中存储的kafka的信息 当前直接存储在根目录下 #配置连接Zookeeper集群地址在zk根目录下创建/kafka方便管理
zookeeper.connecthadoop102:2181,hadoop103:2181,hadoop104:2181/kafkaKafka Broker总体工作流程
1. broker启动后向zk中注册 2. Controller谁先启动注册谁说了算 3. 由选举出来的Controller监听brokers节点的变化 4. Controller决定leader选举 5. Controller将节点信息上传到Zk中 6. 其他Controller从zk中同步相关信息 消息的发送和存储 7. 假设Broker1中的Leader挂了 8 Controller监听到节点变化 9 获取 ISR 10 选举新的Leader 11 . 更新Leader 和 ISR 实例模拟
1案例内容模拟kafka上下线查看zookeeper中数据变化
2查看kafka节点相关信息① 查看zookeeper上的kafka集群节点信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka/brokers/ids
[102, 103, 104]
② 查看当前kafka集群节点中的controller信息
[zk: localhost:2181(CONNECTED) 2] get /kafka/controller
{version:1,brokerid:103,timestamp:1637292471777}
③ 查看kafka中的first主题的0号分区的状态
[zk: localhost:2181(CONNECTED) 2] get /kafka/brokers/topics/first/partitions/0/state
{controller_epoch:24,leader:102,version:1,leader_epoch:18,isr:[102,103,104]}
3模拟kafka下线停止hadoop103上的kafka
[xxxhadoop103 kafka]$ bin/kafka-server-stop.sh
4查看kafka相关节点信息
① 查看zookeeper上的kafka集群节点信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka/brokers/ids
[102, 104]
② 查看当前kafka集群节点中的controller信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka/controller
{version:1,brokerid:102,timestamp:1637292471777}
③ 查看kafka中的first主题的0号分区的状态
[zk: localhost:2181(CONNECTED) 2] get /kafka/brokers/topics/partitions/0/state
{controller_epoch:24,leader:102,version:1,leader_epoch:18,isr:[102,104]}
5重新启动hadoop103上的kafka服务
[xxxhadoop103 kafka]$ bin/kafka-server-stop.sh
6再次查看上述节点观察区别变化Broker重要参数
参数名称描述replica.lag.time.max.msISR中的Follower超过该事件阈值(默认30s)未向Leader发送同步数据则该Follower将被踢出ISR。auto.leader.rebalance.enable默认是true。自动Leader Partition 平衡。leader.imbalance.per.broker.percentage默认是10%。每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值控制器会触发leader的平衡。leader.imbalance.check.interval.seconds默认值300秒。检查leader负载是否平衡的间隔时间。log.segment.bytesKafka中log日志是分成一块块存储的此配置是指log日志划分成块的大小默认值1G。log.index.interval.bytes默认4kbkafka里面每当写入了4kb大小的日志.log然后就往index文件里面记录一个索引。log.retention.hoursKafka中数据保存的时间默认7天。log.retention.minutesKafka中数据保存的时间分钟级别默认关闭。log.retention.msKafka中数据保存的时间毫秒级别默认关闭。优先级最高log.retention.check.interval.ms检查数据是否保存超时的间隔默认是5分钟。log.retention.bytes默认等于-1表示无穷大。超过设置的所有日志总大小删除最早的segment。log.cleanup.policy默认是delete表示所有数据启用删除策略如果设置值为compact表示所有数据启用压缩策略。num.io.threads默认是8。负责写磁盘的线程数。整个参数值要占总核数的50%。num.replica.fetchers副本拉取线程数这个参数占总核数的50%的1/3。num.network.threads默认是3。数据传输线程数这个参数占总核数的50%的2/3。log.flush.interval.messages强制页缓存刷写到磁盘的条数默认是Max(long) (9223372036854775807)。一般交给系统管理。log.flush.interval.ms每隔多久刷数据到磁盘默认是null。一般不建议修改交给系统自己管理。