阿里雲單服務器kafka僞集羣搭建

下載並解壓kafka

(前提是安裝並配置好jdk環境變量,原因是kafka依賴於zookeeper,而zookeeper使用java編寫,kafka使用scala編寫都需要JVM運行環境)

kafka下載地址:http://kafka.apache.org/downloads
zookeeper下載地址:https://zookeeper.apache.org/releases.html

注:自己是存放在/usr/local目錄下

使用自帶的簡版zookeeper搭建zookeeper集羣

(也可使用自己下載的zookeeper搭建zookeeper及集羣)

注:讀者可以把 kafka文件夾複製多份來分別修改zookeeper.properties並運行各自的zookeeper或者僅把kafka文件夾中的zookeeper.properties複製多份使用同一個zookeeper-server-start.sh+不同的配置文件來啓動多個zookeeper
在這裏爲了方便使用第二種方式


 

 1. 修改zookeeper.properties文件

clientPort=2181
dataDir=/usr/local/kafka_2.13-2.6.0/zk/data/zkdata-1
dataLogDir=/usr/local/kafka_2.13-2.6.0/zk/log/zklog-1
server.1=ljq:2888:3888
server.2=ljq:2889:3889
server.3=ljq:2890:3890
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
#  處理zookeeper日誌,24小時清理一次
autopurge.purgeInterval=24
#   日誌文件個數
autopurge.snapRetainCount=3

 2. 修改zookeeper2.properties文件
clientPort=2182
dataDir=/usr/local/kafka_2.13-2.6.0/zk/data/zkdata-2
dataLogDir=/usr/local/kafka_2.13-2.6.0/zk/log/zklog-2
server.1=ljq:2888:3888
server.2=ljq:2889:3889
server.3=ljq:2890:3890
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
#  處理zookeeper日誌,24小時清理一次
autopurge.purgeInterval=24
#   日誌文件個數
autopurge.snapRetainCount=3

 3. 修改zookeeper3.properties文件
clientPort=2183
dataDir=/usr/local/kafka_2.13-2.6.0/zk/data/zkdata-3
dataLogDir=/usr/local/kafka_2.13-2.6.0/zk/log/zklog-3
server.1=ljq:2888:3888
server.2=ljq:2889:3889
server.3=ljq:2890:3890
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=60
#  處理zookeeper日誌,24小時清理一次
autopurge.purgeInterval=24
#   日誌文件個數
autopurge.snapRetainCount=3
  1. 在dataDir中創建myid文件並寫入對應server後的數字(1-255)
  2. 啓動zookeeper
	cd /usr/local/kafka_2.13-2.6.0
  ./bin/zookeeper-server-start.sh -daemon config/zookeeper1.properties

其他兩個同樣方式啓動(-daemon以守護線程運行)

搭建kafka集羣

複製兩份server.properties並修改內容

1.修改server.properties
broker.id=0
listeners=PLAINTEXT://ljq:9092
log.dirs=/usr/local/kafka_2.13-2.6.0/kafka-data/broker-0
zookeeper.connect=ljq:2181,ljq:2182,ljq:2183
log.retention.hours=168

2.修改server1.properties
broker.id=1
listeners=PLAINTEXT://ljq:9093
log.dirs=/usr/local/kafka_2.13-2.6.0/kafka-data/broker-1
zookeeper.connect=ljq:2181,ljq:2182,ljq:2183

2.修改server2.properties
broker.id=2
listeners=PLAINTEXT://ljq:9094
log.dirs=/usr/local/kafka_2.13-2.6.0/kafka-data/broker-2
zookeeper.connect=ljq:2181,ljq:2182,ljq:2183

3.啓動kafka

	cd /usr/local/kafka_2.13-2.6.0
  ./bin/kafka-server-start.sh -daemon config/server.properties

其它兩個同樣方式啓動(-daemon以守護線程運行)

4.創建話題

./bin/kafka-topics.sh --create --topic first --bootstrap-server ljq:9092,ljq:9093,ljq:9094 --partitions 3 --replication-factor 3

5.查看話題詳細信息

./bin/kafka-topics.sh --describe --bootstrap-server ljq:9092 --topic first

6.啓動生產者

./bin/kafka-console-producer.sh --bootstrap-server ljq:9092,ljq:9093 --topic first

7.啓動消費者

./kafka-console-consumer.sh --bootstrap-server ljq:9093 --topic first --from-beginning
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章