真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

kafka集群部署與驗(yàn)證-創(chuàng)新互聯(lián)

kafka集群部署與驗(yàn)證

一、官網(wǎng)下載kafka

wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.12-2.3.0.tgz

二、zookeeper

2.1、配置zookeeper

tar -zxvf kafka_2.12-2.3.0.tgz
cd /opt/kafka_2.12-2.3.0/config

[miaocunfa@db1 config]$ cat zookeeper.properties | grep -v ^# | grep -v ^$

# tickTime:心跳基本時(shí)間單位,毫秒級(jí),ZK基本上所有的時(shí)間都是這個(gè)時(shí)間的整數(shù)倍。
# initLimit:tickTime的個(gè)數(shù),表示在leader選舉結(jié)束后,followers與leader同步需要的時(shí)間,如果followers比較多或者說leader的數(shù)據(jù)灰常多時(shí),同步時(shí)間相應(yīng)可能會(huì)增加,那么這個(gè)值也需要相應(yīng)增加。當(dāng)然,這個(gè)值也是follower和observer在開始同步leader的數(shù)據(jù)時(shí)的大等待時(shí)間(setSoTimeout)
# syncLimit:tickTime的個(gè)數(shù),這時(shí)間容易和上面的時(shí)間混淆,它也表示follower和observer與leader交互時(shí)的大等待時(shí)間,只不過是在與leader同步完畢之后,進(jìn)入正常請(qǐng)求轉(zhuǎn)發(fā)或ping等消息交互時(shí)的超時(shí)時(shí)間。
tickTime=2000
initLimit=10
syncLimit=5

# 內(nèi)存數(shù)據(jù)庫快照存放地址,如果沒有指定事務(wù)日志存放地址(dataLogDir),默認(rèn)也是存放在這個(gè)路徑下,建議兩個(gè)地址分開存放到不同的設(shè)備上。
dataDir=/ahdata/kafka-tmp/zookeeper

# 配置ZK監(jiān)聽客戶端連接的端口
clientPort=2181

# 默認(rèn)值是10,一個(gè)客戶端能夠連接到同一個(gè)服務(wù)器上的大連接數(shù),根據(jù)IP來區(qū)分。如果設(shè)置為0,表示沒有任何限制。設(shè)置該值一方面是為了防止DoS***。
maxClientCnxns=0

# server.serverid=host:tickpot:electionport
# server:固定寫法
# serverid:每個(gè)服務(wù)器的指定ID(必須處于1-255之間,必須每一臺(tái)機(jī)器不能重復(fù))
# host:主機(jī)名
# tickpot:心跳通信端口
# electionport:選舉端口
server.1=172.19.26.3:2888:3888
server.2=172.19.26.6:2888:3888
server.3=172.19.26.4:2888:3888

2.2 各節(jié)點(diǎn)分別創(chuàng)建server-id

# myid文件創(chuàng)建在dataDir目錄下
# myid內(nèi)容與配置文件中的serverid一致
echo 1 > /ahdata/kafka-tmp/zookeeper/myid
echo 2 > /ahdata/kafka-tmp/zookeeper/myid
echo 2 > /ahdata/kafka-tmp/zookeeper/myid

2.3、啟動(dòng)zookeeper

/opt/kafka_2.12-2.3.0/bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
/opt/kafka_2.12-2.3.0/bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
/opt/kafka_2.12-2.3.0/bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

2.4、驗(yàn)證zookeeper狀態(tài)

[root@db1 config]# echo stat | nc 172.19.26.3 2181 | grep Mode
Mode: follower
[root@db1 config]# echo stat | nc 172.19.26.4 2181 | grep Mode
Mode: follower
[root@db1 config]# echo stat | nc 172.19.26.6 2181 | grep Mode
Mode: leader

三、kafka

3.1、配置kafka

# 當(dāng)前機(jī)器在集群中的唯一標(biāo)識(shí),和zookeeper的myid性質(zhì)一樣
broker.id=1

# 學(xué)名叫監(jiān)聽器,其實(shí)就是告訴外部連接者要通過什么協(xié)議訪問指定主機(jī)名和端口開放的 Kafka 服務(wù)。
listeners=PLAINTEXT://172.19.26.3:9092
# listeners 相比多了個(gè) advertised。Advertised 的含義表示宣稱的、公布的,就是說這組監(jiān)聽器是 Broker 用于對(duì)外發(fā)布的。
advertised.listeners=PLAINTEXT://172.19.26.3:9092

# broker 處理消息的大線程數(shù),一般情況下不需要去修改
num.network.threads=3
# broker處理磁盤IO 的線程數(shù) ,數(shù)值應(yīng)該大于你的硬盤數(shù)
num.io.threads=8

# 發(fā)送緩沖區(qū)buffer大小,數(shù)據(jù)不是一下子就發(fā)送的,先回存儲(chǔ)到緩沖區(qū)了到達(dá)一定的大小后在發(fā)送,能提高性能
socket.send.buffer.bytes=102400
# kafka接收緩沖區(qū)大小,當(dāng)數(shù)據(jù)到達(dá)一定大小后在序列化到磁盤
socket.receive.buffer.bytes=102400
# 這個(gè)參數(shù)是向kafka請(qǐng)求消息或者向kafka發(fā)送消息的請(qǐng)請(qǐng)求的大數(shù),這個(gè)值不能超過java的堆棧大小
socket.request.max.bytes=104857600

# 如果配置多個(gè)目錄,新創(chuàng)建的topic他把消息持久化的地方是,當(dāng)前以逗號(hào)分割的目錄中,那個(gè)分區(qū)數(shù)最少就放那一個(gè)
log.dirs=/ahdata/kafka-tmp/kafka-logs

# 分區(qū)數(shù),一個(gè)topic 3個(gè)分區(qū)
num.partitions=3

# 每個(gè)數(shù)據(jù)目錄用來日志恢復(fù)的線程數(shù)目
num.recovery.threads.per.data.dir=1

# 集群高可用參數(shù),建議使用大于1的值來確保可用性,比如3。
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3

# 默認(rèn)消息的大持久化時(shí)間,168小時(shí),7天
log.retention.hours=168
#這個(gè)參數(shù)是:因?yàn)閗afka的消息是以追加的形式落地到文件,當(dāng)超過這個(gè)值的時(shí)候,kafka會(huì)新起一個(gè)文件
log.segment.bytes=1073741824
# 每隔300000毫秒去檢查上面配置的log失效時(shí)間
log.retention.check.interval.ms=300000

# zookeeper的連接端口
zookeeper.connect=172.19.26.3:2181,172.19.26.4:2181,172.19.26.6:2181
# zookeeper的連接超時(shí)時(shí)間
zookeeper.connection.timeout.ms=6000

# 客戶端消費(fèi)者重新選舉的延時(shí)時(shí)間,默認(rèn)0
group.initial.rebalance.delay.ms=0

# 允許刪除topic
delete.topic.enable=true

3.2、啟動(dòng)kafka

/opt/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon config/server.properties
/opt/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon config/server.properties
/opt/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon config/server.properties

3.3、驗(yàn)證kafka狀態(tài)

[root@db1 kafka_2.12-2.3.0]# echo dump | nc 172.19.26.3 2181 | grep broker
    /brokers/ids/1
    /brokers/ids/2
[root@db1 kafka_2.12-2.3.0]# echo dump | nc 172.19.26.4 2181 | grep broker
    /brokers/ids/1
    /brokers/ids/2
[root@db1 kafka_2.12-2.3.0]# echo dump | nc 172.19.26.6 2181 | grep broker
    /brokers/ids/1
    /brokers/ids/2

四、驗(yàn)證集群

4.1、topic

# 創(chuàng)建一個(gè)topic
[miaocunfa@db1 kafka_2.12-2.3.0]$ bin/kafka-topics.sh --create --zookeeper 172.19.26.3:2181,172.19.26.4:2181,172.19.26.6:2181 --replication-factor 2 --partitions 3 --topic demo_topics
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic demo_topics.

# 列出所有topic
[miaocunfa@db1 kafka_2.12-2.3.0]$ /opt/kafka_2.12-2.3.0/bin/kafka-topics.sh --list --zookeeper 172.19.26.3:2181,172.19.26.4:2181,172.19.26.6:2181
demo_topics

# 查看topic詳細(xì)情況
[miaocunfa@db1 config]$ /opt/kafka_2.12-2.3.0/bin/kafka-topics.sh --describe --zookeeper 172.19.26.3:2181,172.19.26.4:2181,172.19.26.6:2181 --topic demo_topics
Topic:demo_topics   PartitionCount:3    ReplicationFactor:2 Configs:
    Topic: demo_topics  Partition: 0    Leader: 2   Replicas: 1,2   Isr: 2,1
    Topic: demo_topics  Partition: 1    Leader: 2   Replicas: 2,1   Isr: 2,1
    Topic: demo_topics  Partition: 2    Leader: 2   Replicas: 1,2   Isr: 2,1

4.2、生產(chǎn)消費(fèi)驗(yàn)證

ps. 1) 若producer 和 consumer 兩個(gè)窗口同時(shí)打開,在producer輸入信息,consumer會(huì)立即消費(fèi)信息并打印在終端
    2)新開一個(gè)終端,去消費(fèi)同一個(gè)topic,剛剛已經(jīng)消費(fèi)過的消息還會(huì)被新終端繼續(xù)消費(fèi)。也就是說,消息被消費(fèi)過后不會(huì)立即被刪除?!?/p>

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)公司專業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站開發(fā)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
4.2.1、生產(chǎn)者發(fā)送消息
[miaocunfa@db1 kafka_2.12-2.3.0]$ /opt/kafka_2.12-2.3.0/bin/kafka-console-producer.sh --broker-list 172.19.26.3:9092,172.19.26.4:9092,172.19.26.6:9092 --topic demo_topics
>Hello Kafka!      
>
4.2.2、消費(fèi)者接收消息
# 啟動(dòng)一個(gè)新終端創(chuàng)建一個(gè)消費(fèi)者接收消息。
[root@db1 kafka_2.12-2.3.0]# /opt/kafka_2.12-2.3.0/bin/kafka-console-consumer.sh --bootstrap-server=172.19.26.3:9092,172.19.26.4:9092,172.19.26.6:9092 --topic demo_topics --from-beginning
Hello Kafka!

4.3、刪除測(cè)試topic

# 配置文件中delete.topic.enable=true才可刪除topic
[miaocunfa@db1 config]$ /opt/kafka_2.12-2.3.0/bin/kafka-topics.sh --delete --zookeeper 172.19.26.3:2181,172.19.26.4:2181,172.19.26.6:2181 --topic demo_topics
Topic demo_topics is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

參考:
1.https://www.cnblogs.com/qingyunzong/p/8619184.html
2.https://www.cnblogs.com/qingyunzong/p/9005062.html#_label3_5
3.https://www.cnblogs.com/cici20166/p/9426417.html
4.https://www.orchome.com/805

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站名稱:kafka集群部署與驗(yàn)證-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/djiijo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部