部署:
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,在下單成功後...