Kafka筆記 分布式環境搭建

2022-03-18 14:45:21 字數 3601 閱讀 1878

部署:

demo:

2)解壓tar -zxvf kafka-0.8.0-beta1-src.tgz,產生資料夾kafka-0.8.0-beta1-src更改為kafka01 

3)配置

修改kafka01/config/server.properties,其中broker.id,log.dirs,zookeeper.connect必須根據實際情況進行修改,其他項根據需要自行斟酌。大致如下:

broker.id=1

port=9091  

num.network.threads=2  

num.io.threads=2  

socket.send.buffer.bytes=1048576  

socket.receive.buffer.bytes=1048576  

socket.request.max.bytes=104857600  

log.dir=./logs

num.partitions=2  

log.flush.interval.messages=10000  

log.flush.interval.ms=1000  

log.retention.hours=168  

#log.retention.bytes=1073741824  

log.segment.bytes=536870912  

num.replica.fetchers=2  

log.cleanup.interval.mins=10  

zookeeper.connect=192.168.0.1:2181,192.168.0.2:2182,192.168.0.3:2183

zookeeper.connection.timeout.ms=1000000  

kafka.metrics.polling.interval.secs=5  

kafka.metrics.reporters=kafka.metrics.kafkacsvmetricsreporter  

kafka.csv.metrics.dir=/tmp/kafka_metrics  

kafka.csv.metrics.reporter.enabled=false

4) 啟動kafka01

>bin/kafka-server-start.sh config/server.properties &

a)kafka02操作步驟與kafka01雷同,不同的地方如下

修改kafka02/config/server.properties

broker.id=2

port=9092

##其他配置和kafka-0保持一致

啟動kafka02

>bin/kafka-server-start.shconfig/server.properties &

b)kafka03操作步驟與kafka01雷同,不同的地方如下

修改kafka03/config/server.properties

broker.id=3

port=9093

##其他配置和kafka-0保持一致

啟動kafka02

>bin/kafka-server-start.shconfig/server.properties &

5)建立topic(包含乙個分割槽,三個副本)

>bin/kafka-create-topic.sh--zookeeper 192.168.0.1:2181 --replica 3 --partition 1 --topicmy-replicated-topic

6)檢視topic情況

>bin/kafka-list-top.sh --zookeeper 192.168.0.1:2181

topic: my-replicated-topic  partition: 0 leader: 1  replicas: 1,2,0  isr: 1,2,0

7)建立傳送者

>bin/kafka-console-producer.sh--broker-list 192.168.0.1:9091 --topic my-replicated-topic

my test message1

my test message2

^c8)建立消費者

>bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --from-beginning --topic my-replicated-topic

...my test message1

my test message2

^c9)殺掉server1上的broker

>pkill -9 -f config/server.properties

10)檢視topic

>bin/kafka-list-top.sh --zookeeper192.168.0.1:2181

topic: my-replicated-topic  partition: 0 leader: 1  replicas: 1,2,0  isr: 1,2,0

發現topic還正常的存在

11)建立消費者,看是否能查詢到訊息

>bin/kafka-console-consumer.sh --zookeeper192.168.0.1:2181 --from-beginning --topic my-replicated-topic

...my test message 1

my test message 2

^c說明一切都是正常的。

注意:kafka測試

kafka提供了乙個命令列的工具,可以從輸入檔案或者命令列中讀取訊息並傳送給kafka集群。每一行是一條訊息。

>bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

this is a message

this is another message

kafka也提供了乙個消費訊息的命令列工具。

> bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

this is a message

this is another message

kafka 偽分布式環境搭建

記錄本地kafka偽集群安裝。2 安裝zk.指定安裝目錄 opt zookeeper 解壓 tar zxvf zookeeper 3.4.14.tar.gz install.log.簡單配置 cp zookeeper 3.4.14 conf zoo sample.cfg zookeeper 3.4....

學習筆記 分布式鎖

分布式鎖的產生 隨著網際網路的發展,單體架構無法滿足需求,從而擴充套件成分布式架構後解決分布式情況下同步問題所產生的技術。為什麼分布式情況下要使用分布式鎖來解決同步問題呢?舉個例子 分布式鎖就是用來解決上述所發生的的問題的。分布式鎖可以通過redis和zookeeper來實現,今天我們就先聊一下re...

學習筆記 分布式技術

2.redis 解耦比如說在這個專案中,客戶通過我們這個平台下訂單買車後,會發簡訊提示他,這個發簡訊的動作,如果不使用mq,要在訂單支付成功時去呼叫發簡訊的介面,然後才能返回下單成功.如果以後需求改了,不要發簡訊了,那這時候又要去改動訂單這個模組,這個設計的就很耦合.但是如果使用了mq,在下單成功後...