手動(dòng)部署Kraft模式kafka集群
基本信息
IP地址 | Hostname | Release | Kafka-Version |
---|---|---|---|
172.29.145.157 | iamdemo1 | Centos7.9 | kafka_2.12-3.5.1 |
172.29.145.182 | iamdemo2 | Centos7.9 | kafka_2.12-3.5.1 |
172.29.145.183 | iamdemo3 | Centos7.9 | kafka_2.12-3.5.1 |
下載安裝包
kafka安裝包官網(wǎng)下載
下載完成后上傳到服務(wù)器/opt目錄下解壓文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-747283.html
tar -xf kafka_2.12-3.5.1.tgz
將文件夾重命名為kafka
mv kafka_2.12-3.5.1 kafka
生成集群隨機(jī)uuid
[root@iamdemo1 ~ ]cd /opt/kafka/bin
[root@iamdemo1 bin]# sh kafka-storage.sh random-uuid
COY-4PxTT82yfvGKqAepwQ
配置kafka集群的kraft模式參數(shù)
參數(shù)位置:/opt/kafka/config/kraft/server.properties
##角色可同時(shí)為broker和controller
process.roles=broker,controller
##node.id為當(dāng)前服務(wù)器作為節(jié)點(diǎn)的id
node.id=1
##定義投票節(jié)點(diǎn),用于選舉Master,每個(gè)節(jié)點(diǎn)都必須配置
controller.quorum.voters=1@172.29.145.157:9093,2@172.29.145.182:9093,3@172.29.145.183:9093
##9092為每個(gè)broker的通信端口,9093為controller節(jié)點(diǎn)的通信端口,如果一個(gè)節(jié)點(diǎn)是混合節(jié)點(diǎn)那就需要同時(shí)監(jiān)聽(tīng)兩個(gè)端口
listeners=PLAINTEXT://:9092,CONTROLLER://:9093 #,EXTERNAL://172.29.145.157:9094
##broker內(nèi)部監(jiān)聽(tīng)協(xié)議
inter.broker.listener.name=PLAINTEXT
##對(duì)外公開(kāi)的端口
#advertised.listeners=EXTERNAL://172.29.145.157:9094,PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://172.29.145.157:9092
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL,EXTERNAL:PLAINTEXT
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
##kafka數(shù)據(jù)默認(rèn)存儲(chǔ)的地方
log.dirs=/opt/kafka/kraft-combined-logs
##每一個(gè)topic默認(rèn)的分區(qū)
num.partitions=6
##恢復(fù)線程
num.recovery.threads.per.data.dir=2
##用于存儲(chǔ)消費(fèi)者組的消費(fèi)偏移量信息的特殊主題,用于在發(fā)生故障時(shí)或者重新加入時(shí)能夠恢復(fù)到之前的消費(fèi)位置
offsets.topic.replication.factor=3
##用于存儲(chǔ)事務(wù)狀態(tài)信息的特殊主題,kafka支持事務(wù)性寫(xiě)入,當(dāng)生產(chǎn)者使用事務(wù)模式寫(xiě)入數(shù)據(jù)時(shí),信息會(huì)寫(xiě)入這個(gè)主題
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
auto.create.topics.enable=false
default.replication.factor=3
##數(shù)據(jù)的存儲(chǔ)時(shí)間
log.retention.hours=168
##設(shè)置kafka一個(gè)數(shù)據(jù)段最大值1G
log.segment.bytes=1073741824
##檢查數(shù)據(jù)過(guò)期時(shí)間300s一次
log.retention.check.interval.ms=300000
使用集群uuid格式化kafka數(shù)據(jù)存儲(chǔ)目錄
[root@iamdemo1 bin]# sh kafka-storage.sh format -t COY-4PxTT82yfvGKqAepwQ -c ../config/kraft/server.properties
Formatting /opt/kafka/kraft-combined-logs with metadata.version 3.5-IV2.
修改啟動(dòng)腳本,暴露JMX端口,配置JVM內(nèi)存大小
##注意,jdk必須為64位jdk,否則JVM內(nèi)存大小設(shè)置為4G會(huì)報(bào)錯(cuò)啟動(dòng)失敗,查看方法java --version如果沒(méi)有顯示64bit的都是32位
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"
export JMX_PORT="9999"
fi
修改kafka日志配置參數(shù),避免一小時(shí)生成一個(gè)日志文件
文件位置:/opt/kafka/config/log4j.properties
##添加兩條日志最大量
log4j.appender.kafkaAppender.MaxFileSize=100MB
log4j.appender.kafkaAppender.MaxBackupIndex=5
##修改DatePattern
log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd
使用腳本啟動(dòng)kafka集群
[root@iamdemo1 bin]# sh kafka-server-start.sh -daemon ../config/kraft/server.properties
查看集群狀態(tài)
通過(guò)jps即可看到kafka進(jìn)程是否在運(yùn)行,也可通過(guò)ps aux查看
查看topic副本分布情況可以通過(guò)
./kafka-topics.sh --describe --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092
Topic: test-topic1 TopicId: U3-YpQ4QQqWM7jQ-8uAxjA PartitionCount: 6 ReplicationFactor: 3 Configs: segment.bytes=1073741824
Topic: test-topic1 Partition: 0 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
Topic: test-topic1 Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: test-topic1 Partition: 2 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
Topic: test-topic1 Partition: 3 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: test-topic1 Partition: 4 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
Topic: test-topic1 Partition: 5 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-747283.html
到了這里,關(guān)于手動(dòng)部署Kraft模式Kafka集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!