当前位置: 首页 > news >正文

重庆网站建设jwzcq台州做网站的公司

重庆网站建设jwzcq,台州做网站的公司,手机app开发公司排行,电商网站建设规划书本文内容来自尚硅谷B站公开教学视频#xff0c;仅做个人总结、学习、复习使用#xff0c;任何对此文章的引用#xff0c;应当说明源出处为尚硅谷#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接#xff1a;【尚硅谷】Kafka3.x教程#xff08;从入门到调优… 本文内容来自尚硅谷B站公开教学视频仅做个人总结、学习、复习使用任何对此文章的引用应当说明源出处为尚硅谷不得用于商业用途。 如有侵权、联系速删 视频教程链接【尚硅谷】Kafka3.x教程从入门到调优深入全面 文章目录 1 副本基本信息2 Leader 选举流程3Leader 和 Follower 故障处理细节3.1 Follower故障处理细节3.2 Leader故障处理细节 4 分区副本分配5 手动调整分区副本存储6 Leader Partition 负载平衡7 增加副本因子 1 副本基本信息 1Kafka 副本作用提高数据可靠性。 2Kafka 默认副本 1 个生产环境一般配置为 2 个保证数据可靠性太多副本会增加磁盘存储空间增加网络上数据传输降低效率。 3Kafka 中副本分为Leader 和 Follower。Kafka 生产者只会把数据发往 Leader然后 Follower 找 Leader 进行同步数据。 4Kafka 分区中的所有副本统称为 ARAssigned Repllicas。 AR ISR OSR ISR 表示和 Leader 保持同步的 Follower 集合。如果 Follower 长时间未向 Leader 发送通信请求或同步数据则该 Follower 将被踢出 ISR。该时间阈值由 replica.lag.time.max.ms参数设定默认 30s。Leader 发生故障之后就会从 ISR 中选举新的 Leader。 OSR 表示 Follower 与 Leader 副本同步时延迟过多的副本。 2 Leader 选举流程 Kafka 集群中有一个 broker 的 Controller 会被选举为 Controller Leader负责管理集群broker 的上下线所有 topic 的分区副本分配和 Leader 选举等工作。 Controller 的信息同步工作是依赖于 Zookeeper 的。 模拟一下一个集群从启动到leader挂掉是怎么重新选leader的 首先我们启动集群所有的节点启动并在zookeeper中注册自己的信息此时谁先注册谁就工作积极那这个节点就负责选举这个节点被称为controller剩下的按积极性依次排列controller负责监听各个节点的信息并维护进zookeeper中现在确定出controller节点这个controller节点将数据上传到zk并开始维护别的节点读取zk的数据这时假设有个节点挂了controller发现有个节点没了那这个节点上的所有主题的leader等于没了要重新选举首先获取了ISR看看要重新选举leader的主题它还有哪些节点活着从活着的节点中选一个在AR队列里排名最靠前的节点它就是新的leader将新的节点信息上传到zk其他节点同步数据 3Leader 和 Follower 故障处理细节 我们上面知道了如何重新选leader的但选举时的数据如何处理呢往下接着分析我们将挂掉的情况分为leader挂掉和follower挂掉两种情况 3.1 Follower故障处理细节 首先引出两个概念LEO和WH LEO 每个副本的最后一个offset也就是最后一条消息的ID或者说同步到哪条消息了 HW 所有副本中最小的LEO也就是所有副本中同步最慢的那个同步到哪条消息了 现在如下图节点2挂掉了上面的副本离线不影响其余副本当它重新上线时将挂掉时的HW和它自己的LEO之间的数据清理掉重新从掉时的HW处开始同步直到追上现在的HW时重新加入ISR 为啥要清理掉这批数据 数据都是一批一批的同步过来的挂掉时并不知道你这一批数据同步到哪一个了也就是HW到你的LEO这中间的数据都可能不完整所以干脆全部舍弃重新同步 3.2 Leader故障处理细节 和follower差不多区别是新的leader并不知道故障时别的节点同步的具体认为故障时高于HW的数据都不可靠所以全部清掉重新同步 这就导致了一个问题leader挂掉时通过清掉HW后面的数据让新的leader和follower之间的数据保持了一致性但是挂掉的leader可能已经处理了一部分数据了那这一部分数据如果没同步到别的节点上等于这部分数据就丢失了 4 分区副本分配 会依次往每个节点上放 如果 kafka 服务器只有 4 个节点那么设置 kafka 的分区数大于服务器台数在 kafka底层如何分配存储副本呢 创建 16 分区3 个副本 ①创建一个新的 topic名称为 second。 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 16 --replication-factor 3 --topic second②查看分区和副本情况。 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic second Topic: second4 Partition: 0 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: second4 Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3 Topic: second4 Partition: 2 Leader: 2 Replicas: 2,3,0 Isr: 2,3,0 Topic: second4 Partition: 3 Leader: 3 Replicas: 3,0,1 Isr: 3,0,1 Topic: second4 Partition: 4 Leader: 0 Replicas: 0,2,3 Isr: 0,2,3 Topic: second4 Partition: 5 Leader: 1 Replicas: 1,3,0 Isr: 1,3,0 Topic: second4 Partition: 6 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1 Topic: second4 Partition: 7 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2 Topic: second4 Partition: 8 Leader: 0 Replicas: 0,3,1 Isr: 0,3,1 Topic: second4 Partition: 9 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2 Topic: second4 Partition: 10 Leader: 2 Replicas: 2,1,3 Isr: 2,1,3 Topic: second4 Partition: 11 Leader: 3 Replicas: 3,2,0 Isr: 3,2,0 Topic: second4 Partition: 12 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2 Topic: second4 Partition: 13 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3 Topic: second4 Partition: 14 Leader: 2 Replicas: 2,3,0 Isr: 2,3,0 Topic: second4 Partition: 15 Leader: 3 Replicas: 3,0,1 Isr: 3,0,15 手动调整分区副本存储 在生产环境中每台服务器的配置和性能不一致但是Kafka只会根据自己的代码规则创建对应的分区副本就会导致个别服务器存储压力较大。所有需要手动调整分区副本的存储。 需求创建一个新的topic4个分区两个副本名称为three。将 该topic的所有副本都存储到broker0和broker1两台服务器上。 手动调整分区副本存储的步骤如下 1创建一个新的 topic名称为 three。 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 4 --replication-factor 2 --topic three2查看分区副本存储情况。 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic three3创建副本存储计划所有副本都指定存储在 broker0、broker1 中。 vim increase-replication-factor.json输入如下内容 { version:1, partitions:[{topic:three,partition:0,replicas:[0,1]}, {topic:three,partition:1,replicas:[0,1]}, {topic:three,partition:2,replicas:[1,0]}, {topic:three,partition:3,replicas:[1,0]}] }4执行副本存储计划。 bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --execute6查看分区副本存储情况。 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic three6 Leader Partition 负载平衡 正常情况下Kafka本身会自动把Leader Partition均匀分散在各个机器上来保证每台机器的读写吞吐量都是均匀的。但是如果某些broker宕机会导致Leader Partition过于集中在其他少部分几台broker上这会导致少数几台broker的读写请求压力过高其宕机的broker重启之后都是follower partition读写请求很低造成集群负载不均衡。 auto.leader.rebalance.enable默认是true。自动Leader Partition 平衡。生产环境中leader 重选举的代价比较大可能会带来性能影响建议设置为 false 关闭。 leader.imbalance.per.broker.percentage默认是10%。每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值控制器会触发leader的平衡。 leader.imbalance.check.interval.seconds默认值300秒。检查leader负载是否平衡的间隔时间。 下面拿一个主题举例说明假设集群只有一个主题如下图所示 针对broker0节点分区2的AR优先副本是0节点但是0节点却不是Leader节点 所以不平衡数加1AR副本总数是4 所以broker0节点不平衡率为1/410%需要再平衡。 broker2和broker3节点和broker0不平衡率一样需要再平衡。 Broker1的不平衡数为0不需要再平衡 7 增加副本因子 在生产环境当中由于某个主题的重要等级需要提升我们考虑增加副本。副本数的增加需要先制定计划然后根据计划执行。 1创建 topic bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 3 --replication-factor 1 --topic four2手动增加副本存储 创建副本存储计划所有副本都指定存储在 broker0、broker1、broker2 中 vim increase-replication-factor.json输入如下内容 {version:1,partitions:[{topic:four,partition:0,replicas:[0,1,2]},{topic:four,partition:1,replicas:[0,1,2]},{topic:four,partition:2,replicas:[0,1,2]}]}执行副本存储计划。 bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --execute
http://wiki.neutronadmin.com/news/180373/

相关文章:

  • 网站logo设计创意非标自动化东莞网站建设
  • 赢展网站建设郑州网站制作公司
  • 交互式网站是什么郑州网站制作网页
  • 网站上怎么做动图上海网站建设服务市价
  • 网站定制开发怎么写海南省建筑信息平台
  • 网站标题格式中国教学网站
  • 网站源码和模板的区别wordpress的图片用cdn
  • 网站维护推广微信公众平台人工电话
  • 网站数据库 mysql贵港网站建设动态
  • 南宁网站建设兼职wordpress欢迎邮件代码
  • 宿迁北京网站建设网上商城网站建设
  • 如何搭建php网站wordpress 企业网站主题
  • 深圳网站设计十年乐云seo旅游业网站建设方案特点
  • 程序员网站建设公司网站格式
  • 网站资料素材怎么做网站设计网页的优缺点
  • 京东内部券网站怎么做网站风格趋势
  • 婚纱网站怎么做莆田哪里有学做网站的
  • 河南政务网站建设排名金堂县建设局网站
  • 腾讯网站谁做的南开网站建设
  • WordPress开网站很慢wordpress恶意代码
  • 网站推广好难福建省建设行业企业资质查询网站
  • 餐饮加盟培训网站建设网站建设费计入什么科目
  • 建设网站方式有哪些自己主机做网站服务器
  • 做电影资讯网站算侵权吗积分购买 wordpress
  • 保定网站制作软件大型网站 空间
  • 做产品的往这看:国外工业设计网站大全!吉林seo外包
  • 网站层级淮北建设网站
  • 网站图标素材图片套模板网站价格
  • 移动网站建设动态广告设计与制作是做什么的
  • 重庆网站建设 吧手机主题制作网站