中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

盤龍區(qū)網(wǎng)絡(luò)推廣群排名優(yōu)化軟件官網(wǎng)

盤龍區(qū)網(wǎng)絡(luò)推廣,群排名優(yōu)化軟件官網(wǎng),wordpress mo文件,wordpress瀑布主題參考: 【kafka專欄】不用zookeeper怎么安裝kafka集群-最新kafka3.0版本 一、kafka集群實(shí)例角色規(guī)劃 在本專欄的之前的一篇文章《kafka3種zk的替代方案》已經(jīng)為大家介紹過在kafka3.0種已經(jīng)可以將zookeeper去掉。 上圖中黑色代表broker(消息代理服務(wù))&…

參考:?【kafka專欄】不用zookeeper怎么安裝kafka集群-最新kafka3.0版本

一、kafka集群實(shí)例角色規(guī)劃

在本專欄的之前的一篇文章《kafka3種zk的替代方案》已經(jīng)為大家介紹過在kafka3.0種已經(jīng)可以將zookeeper去掉。

上圖中黑色代表broker(消息代理服務(wù)),褐色/藍(lán)色代表Controller(集群控制器服務(wù))

  • 左圖(kafka2.0):一個集群所有節(jié)點(diǎn)都是broker角色,kafka從三個broker中選舉出來一個Controller控制器,控制器將集群元數(shù)據(jù)信息(比如主題分類、消費(fèi)進(jìn)度等)保存到zookeeper,用于集群各節(jié)點(diǎn)之間分布式交互。
  • 右圖(kafka3.0):假設(shè)一個集群有四個broker,指定三個作為Conreoller角色(藍(lán)色),從三個Controller中選舉出來一個Controller作為主控制器(褐色),其他的2個備用。zookeeper不再被需要!相關(guān)的元數(shù)據(jù)信息以kafka日志的形式存在(即:以消息隊(duì)列消息的形式存在)。
  • controller通信端口:9093, 作用與zk的2181端口類似 。

在搭建kafka3.0集群之前, 我們需要先做好kafka實(shí)例角色規(guī)劃。(四個broker, 需要通過主動配置指定三個作為Controller, Controller需要奇數(shù)個, 這一點(diǎn)和zk是一樣的)

主機(jī)名稱ip角色node.id
kafka-vm1192.168.1.111broker,controller1
kafka-vm2192.168.1.112broker,controller2
kafka-vm3192.168.1.113broker,controller3
kafka-vm4192.168.1.114broker4

二、準(zhǔn)備工作

  • kafka3.x不再支持JDK8,建議安裝JDK11或JDK17。
  • 新建kafka持久化日志數(shù)據(jù)mkdir -p /data/kafka;并保證安裝kafka的用戶具有該目錄的讀寫權(quán)限。

各個機(jī)器節(jié)點(diǎn)執(zhí)行:

  1. # 安裝jdk(kafka3.x不再支持JDK8,建議安裝JDK11或JDK17, 這里安裝jdk11)
  2. # 下載安裝jdk11, 參考: https://blog.csdn.net/justlpf/article/details/127268046
  3. # 下載kafka
  4. adduser kafka
  5. cd /opt
  6. wget https://downloads.apache.org/kafka/3.3.1/kafka_2.12-3.3.1.tgz
  7. tar -xf kafka_2.12-3.3.1.tgz
  8. chown -R kafka:kafka kafka_2.12-3.3.1*
  9. mkdir -p /data/kafka
  10. chown -R kafka:kafka /data/kafka
vi /etc/hosts,各個節(jié)點(diǎn),添加如下內(nèi)容:
  1. 192.168.1.111 data-vm1
  2. 192.168.1.112 data-vm2
  3. 192.168.1.113 data-vm3
  4. 192.168.1.114 data-vm4

三、修改Kraft協(xié)議配置文件

在kafka3.x版本中,使用Kraft協(xié)議代替zookeeper進(jìn)行集群的Controller選舉,所以要針對它進(jìn)行配置。

vi /opt/kafka_2.12-3.3.1/config/kraft/server.properties

具體配置參數(shù)如下:

  1. # data-vm1節(jié)點(diǎn)
  2. node.id=1
  3. process.roles=broker,controller
  4. listeners=PLAINTEXT://data-vm1:9092,CONTROLLER://data-vm1:9093
  5. advertised.listeners=PLAINTEXT://:9092
  6. controller.quorum.voters=1@data-vm1:9093,2@data-vm2:9093,3@data-vm3:9093
  7. log.dirs=/data/kafka/
  8. # data-vm2節(jié)點(diǎn)
  9. node.id=2
  10. process.roles=broker,controller
  11. listeners=PLAINTEXT://data-vm2:9092,CONTROLLER://data-vm2:9093
  12. advertised.listeners=PLAINTEXT://:9092
  13. controller.quorum.voters=1@data-vm1:9093,2@data-vm2:9093,3@data-vm3:9093
  14. log.dirs=/data/kafka/
  15. # data-vm3節(jié)點(diǎn)
  16. node.id=3
  17. process.roles=broker,controller
  18. listeners=PLAINTEXT://data-vm3:9092,CONTROLLER://data-vm3:9093
  19. advertised.listeners=PLAINTEXT://:9092
  20. controller.quorum.voters=1@data-vm1:9093,2@data-vm2:9093,3@data-vm3:9093
  21. log.dirs=/data/kafka/
  • node.id:這將作為集群中的節(jié)點(diǎn) ID,唯一標(biāo)識,按照我們事先規(guī)劃好的(上文),在不同的服務(wù)器上這個值不同。其實(shí)就是kafka2.0中的broker.id,只是在3.0版本中kafka實(shí)例不再只擔(dān)任broker角色,也有可能是controller角色,所以改名叫做node節(jié)點(diǎn)。
  • process.roles:一個節(jié)點(diǎn)可以充當(dāng)broker或controller或兩者兼而有之。按照我們事先規(guī)劃好的(上文),在不同的服務(wù)器上這個值不同。多個角色用逗號分開。
  • listeners: broker將使用9092端口,而kraft controller控制器將使用9093端口。
  • advertised.listeners: 這里指定kafka通過代理暴漏的地址,如果都是局域網(wǎng)使用,就配置PLAINTEXT://:9092即可。
  • controller.quorum.voters:這個配置用于指定controller主控選舉的投票節(jié)點(diǎn),所有process.roles包含controller角色的規(guī)劃節(jié)點(diǎn)都要參與,即:zimug1、zimug2、zimug3。其配置格式為:node.id1@host1:9093,node.id2@host2:9093
  • log.dirs:kafka 將存儲數(shù)據(jù)的日志目錄,在準(zhǔn)備工作中創(chuàng)建好的目錄。

所有kafka節(jié)點(diǎn)都要按照上文中的節(jié)點(diǎn)規(guī)劃進(jìn)行配置,完成config/kraft/server.properties配置文件的修改。

四、格式化存儲目錄

生成一個唯一的集群ID(在一臺kafka服務(wù)器上執(zhí)行一次即可),這一個步驟是在安裝kafka2.0版本的時候不存在的。

  1. $ /opt/kafka_2.12-3.3.1/bin/kafka-storage.sh random-uuid
  2. SzIhECn-QbCLzIuNxk1A2A

使用生成的集群ID+配置文件格式化存儲目錄log.dirs,

所以這一步確認(rèn)配置及路徑確實(shí)存在,

并且kafka用戶有訪問權(quán)限(檢查準(zhǔn)備工作是否做對)。

每一臺主機(jī)服務(wù)器都要執(zhí)行命令:

  1. /opt/kafka_2.12-3.3.1/bin/kafka-storage.sh format \
  2. -t SzIhECn-QbCLzIuNxk1A2A \
  3. -c /opt/kafka_2.12-3.3.1/config/kraft/server.properties

格式化操作完成之后,log.dirs?目錄下多出一個Meta.properties文件?,存儲了當(dāng)前的kafka節(jié)點(diǎn)的id(node.id),當(dāng)前節(jié)點(diǎn)屬于哪個集群(cluster.id)

  1. [root@data-vm2 ~]# ll /data/kafka/
  2. 總用量 8
  3. -rw-r--r--. 1 root root 249 10月 11 18:23 bootstrap.checkpoint
  4. -rw-r--r--. 1 root root 86 10月 11 18:23 meta.properties
  5. $ cat /data/kafka/meta.properties
  6. #
  7. #Tue Apr 12 07:39:07 CST 2022
  8. node.id=1
  9. version=1
  10. cluster.id=SzIhECn-QbCLzIuNxk1A2A

五、 啟動集群,完成基礎(chǔ)測試

zimug1 zimug2 zimug3是三臺應(yīng)用服務(wù)器的主機(jī)名稱(參考上文中的角色規(guī)劃),實(shí)現(xiàn)方式已經(jīng)在本專欄《linux主機(jī)與ip解析》中進(jìn)行了說明。將下面的命令集合保存為一個shell腳本,并賦予執(zhí)行權(quán)限。執(zhí)行該腳本即可啟動kafka集群所有的節(jié)點(diǎn),前提是:你已經(jīng)按照本專欄的《集群各節(jié)點(diǎn)之間的ssh免密登錄》安裝方式做了集群各節(jié)點(diǎn)之間的ssh免密登錄。

啟動命令:

  1. bin/kafka-server-start.sh \
  2. /opt/kafka_2.12-3.3.1/config/kraft/server.properties
  3. # 后臺運(yùn)行
  4. nohup bin/kafka-server-start.sh \
  5. /opt/kafka_2.12-3.3.1/config/kraft/server.properties 2>&1 &

腳本:?

  1. #!/bin/bash
  2. kafkaServers='data-vm1 data-vm2 data-vm3'
  3. #啟動所有的kafka
  4. for kafka in $kafkaServers
  5. do
  6. ssh -T $kafka <<EOF
  7. nohup /opt/kafka_2.12-3.3.1/bin/kafka-server-start.sh /opt/kafka_2.12-3.3.1/config/kraft/server.properties 1>/dev/null 2>&1 &
  8. EOF
  9. echo 從節(jié)點(diǎn) $kafka 啟動kafka3.0...[ done ]
  10. sleep 5
  11. done

六、一鍵停止集群腳本

一鍵停止kafka集群各節(jié)點(diǎn)的腳本,與啟動腳本的使用方式及原理是一樣的。

停止命令:

/opt/kafka_2.12-3.3.1/bin/kafka-server-stop.sh

執(zhí)行腳本:

  1. #!/bin/bash
  2. kafkaServers='data-vm1 data-vm2 data-vm3'
  3. #停止所有的kafka
  4. for kafka in $kafkaServers
  5. do
  6. ssh -T $kafka <<EOF
  7. cd /opt/kafka_2.12-3.3.1
  8. bin/kafka-server-stop.sh
  9. EOF
  10. echo 從節(jié)點(diǎn) $kafka 停止kafka...[ done ]
  11. sleep 5
  12. done

七、測試Kafka集群

7.1 創(chuàng)建topic

  1. [root@data-vm1 kafka_2.12-3.3.1]# bin/kafka-topics.sh \
  2. --create \
  3. --topic quickstart-events \
  4. --bootstrap-server data-vm4:9092
  5. Created topic quickstart-events.
  6. [root@data-vm1 kafka_2.12-3.3.1]#
  7. #
  8. [root@data-vm1 kafka_2.12-3.3.1]# bin/kafka-topics.sh \
  9. --create \
  10. --topic quickstart-events \
  11. --bootstrap-server data-vm1:9092,data-vm2:9092,data-vm3:9092

7.2 查看topic列表

  1. bin/kafka-topics.sh \
  2. --list \
  3. --bootstrap-server data-vm4:9092
  4. #
  5. bin/kafka-topics.sh \
  6. --list \
  7. --bootstrap-server data-vm1:9092,data-vm2:9092,data-vm3:9092,data-vm4:9092

7.3 查看消息詳情

  1. [root@data-vm1 kafka_2.12-3.3.1]# bin/kafka-topics.sh \
  2. --describe \
  3. --topic quickstart-events \
  4. --bootstrap-server data-vm3:9092
  5. Topic: quickstart-events TopicId: zSOJC6wNRRGQ4MudfHLGvQ PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
  6. Topic: quickstart-events Partition: 0 Leader: 1 Replicas: 1 Isr: 1
  7. [root@data-vm1 kafka_2.12-3.3.1]#

7.4 生產(chǎn)消息

  1. [root@data-vm1 kafka_2.12-3.3.1]# bin/kafka-console-producer.sh \
  2. --topic quickstart-events \
  3. --bootstrap-server data-vm1:9092
  4. # 參考: 創(chuàng)建并配置topic
  5. bin/kafka-topics.sh \
  6. --bootstrap-server localhost:9092 \
  7. --create \
  8. --topic my-topic \
  9. --partitions 1 \
  10. --replication-factor 1 \
  11. --config max.message.bytes=64000 \
  12. --config flush.messages=1
  13. # ------------------------- 參考 ------------------------ #
  14. # 1: 修改已創(chuàng)建topic配置
  15. # (Overrides can also be changed or set later using the alter configs command.)
  16. bin/kafka-configs.sh \
  17. --bootstrap-server localhost:9092 \
  18. --entity-type topics \
  19. --entity-name my-topic \
  20. --alter \
  21. --add-config max.message.bytes=128000
  22. # 2: 檢查已修改的topic配置是否生效
  23. # (To check overrides set on the topic you can do)
  24. bin/kafka-configs.sh \
  25. --bootstrap-server localhost:9092 \
  26. --entity-type topics \
  27. --entity-name my-topic \
  28. --describe
  29. # 3. 恢復(fù)到原來的配置
  30. # (To remove an override you can do)
  31. bin/kafka-configs.sh \
  32. --bootstrap-server localhost:9092 \
  33. --entity-type topics \
  34. --entity-name my-topic \
  35. --alter \
  36. --delete-config max.message.bytes
  37. # 4. 增加分區(qū)數(shù)
  38. # (To add partitions you can do)
  39. bin/kafka-topics.sh \
  40. --bootstrap-server broker_host:port \
  41. --alter \
  42. --topic my_topic_name \
  43. --partitions 40
  44. # 5. 添加配置
  45. # (To add configs:)
  46. bin/kafka-configs.sh \
  47. --bootstrap-server broker_host:port \
  48. --entity-type topics \
  49. --entity-name my_topic_name \
  50. --alter \
  51. --add-config x=y
  52. # 6. 移除配置
  53. # (To remove a config:)
  54. bin/kafka-configs.sh \
  55. --bootstrap-server broker_host:port \
  56. --entity-type topics \
  57. --entity-name my_topic_name \
  58. --alter \
  59. --delete-config x
  60. # 7. 刪除topic
  61. # (And finally deleting a topic:)
  62. bin/kafka-topics.sh \
  63. --bootstrap-server broker_host:port \
  64. --delete \
  65. --topic my_topic_name

7.5 消費(fèi)消息

  1. bin/kafka-console-consumer.sh \
  2. --topic quickstart-events \
  3. --from-beginning \
  4. --bootstrap-server data-vm4:9092

7.6 查看消費(fèi)者組

  1. # 檢查消費(fèi)者postition
  2. # Checking consumer position
  3. bin/kafka-consumer-groups.sh \
  4. --bootstrap-server localhost:9092 \
  5. --describe \
  6. --group my-group
  7. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
  8. my-topic 0 2 4 2 consumer-1-029af89c-873c-4751-a720-cefd41a669d6 /127.0.0.1 consumer-1
  9. my-topic 1 2 3 1 consumer-1-029af89c-873c-4751-a720-cefd41a669d6 /127.0.0.1 consumer-1
  10. my-topic 2 2 3 1 consumer-2-42c1abd4-e3b2-425d-a8bb-e1ea49b29bb2 /127.0.0.1 consumer-2

7.7 查看消費(fèi)者組列表

  1. # list all consumer groups across all topics
  2. bin/kafka-consumer-groups.sh \
  3. --bootstrap-server localhost:9092 \
  4. --list
  5. test-consumer-group
  6. # To view offsets, as mentioned earlier,
  7. # we "describe" the consumer group like this:
  8. bin/kafka-consumer-groups.sh \
  9. --bootstrap-server localhost:9092 \
  10. --describe \
  11. --group my-group
  12. TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
  13. topic3 0 241019 395308 154289 consumer2-e76ea8c3-5d30-4299-9005-47eb41f3d3c4 /127.0.0.1 consumer2
  14. topic2 1 520678 803288 282610 consumer2-e76ea8c3-5d30-4299-9005-47eb41f3d3c4 /127.0.0.1 consumer2
  15. topic3 1 241018 398817 157799 consumer2-e76ea8c3-5d30-4299-9005-47eb41f3d3c4 /127.0.0.1 consumer2
  16. topic1 0 854144 855809 1665 consumer1-3fc8d6f1-581a-4472-bdf3-3515b4aee8c1 /127.0.0.1 consumer1
  17. topic2 0 460537 803290 342753 consumer1-3fc8d6f1-581a-4472-bdf3-3515b4aee8c1 /127.0.0.1 consumer1
  18. topic3 2 243655 398812 155157 consumer4-117fe4d3-c6c1-4178-8ee9-eb4a3954bee0 /127.0.0.1 consumer4
  19. # 更多配置參考:
  20. # https://kafka.apache.org/32/documentation.html#uses
http://www.risenshineclean.com/news/6200.html

相關(guān)文章:

  • 尋找徐州網(wǎng)站開發(fā)武漢標(biāo)兵seo
  • 做網(wǎng)站做本地服務(wù)器網(wǎng)上怎么注冊公司免費(fèi)的
  • 環(huán)保網(wǎng)頁設(shè)計(jì)制作流程上海比較大的優(yōu)化公司
  • 周口學(xué)做網(wǎng)站今天的三個新聞
  • 網(wǎng)站穩(wěn)定期怎么做免費(fèi)注冊網(wǎng)頁網(wǎng)址
  • wordpress主機(jī)怎樣進(jìn)行seo推廣
  • 給個網(wǎng)站2022年手機(jī)上能用的數(shù)字化營銷怎么做
  • 淘寶上面的網(wǎng)站建設(shè)是靠譜廈門網(wǎng)站seo外包
  • 個人博客網(wǎng)站建設(shè)方案軟文營銷的經(jīng)典案例
  • 阿里巴巴網(wǎng)站建設(shè)基礎(chǔ)服務(wù)交換友情鏈接的渠道
  • 各種類型網(wǎng)站建設(shè)售后完善企業(yè)網(wǎng)站營銷的優(yōu)缺點(diǎn)及案例
  • 網(wǎng)站模板下載之后怎么做網(wǎng)站服務(wù)器查詢工具
  • 公司策劃書模板seo發(fā)包軟件
  • 孝感網(wǎng)站開發(fā)找優(yōu)搏360網(wǎng)址大全
  • 微信小程序平臺官網(wǎng)登錄入口優(yōu)化設(shè)計(jì)答案六年級上冊語文
  • 營銷型網(wǎng)站開發(fā)營銷門戶網(wǎng)站怎么做
  • 個人網(wǎng)站模板兒童專業(yè)網(wǎng)站制作
  • 營銷優(yōu)化型網(wǎng)站怎么做企業(yè)培訓(xùn)計(jì)劃
  • 上海開藝設(shè)計(jì)集團(tuán)有限公司網(wǎng)站優(yōu)化推廣排名
  • 做內(nèi)衣批發(fā)的網(wǎng)站seo軟件推廣哪個好
  • 性是怎么做視頻網(wǎng)站新聞株洲最新
  • 公司網(wǎng)站建設(shè)后期維護(hù)下載微信
  • 安徽人防工程建設(shè)網(wǎng)站廣告接單平臺app
  • 如何做網(wǎng)站搜索排名百度指數(shù)分析平臺
  • 網(wǎng)站設(shè)計(jì)的總結(jié)google seo優(yōu)化
  • 織夢網(wǎng)站可以微信登錄嗎友情鏈接什么意思
  • 微信做公司網(wǎng)站怎么做廣州seo網(wǎng)站推廣平臺
  • 團(tuán)隊(duì)如何分工做網(wǎng)站本周新聞熱點(diǎn)10條
  • 東莞市建設(shè)工程網(wǎng)站網(wǎng)址收錄入口
  • 互聯(lián)網(wǎng)優(yōu)化營銷深圳網(wǎng)站優(yōu)化推廣