Kafka單節點多Broker部署

版本

  • kafka_2.11-2.0.0
  • zookeeper-3.4.5-cdh5.15.1

前提

安裝好zookeeper並啓動服務
在這裏插入圖片描述

配置config/server.properties

下載並解壓後,在config目錄下可以看到一個server.properties文件,我們需要配置一下幾個參數:

#broker的編號,必須是唯一的,相當於主鍵
broker.id=0
#每個broker監聽的端口
listeners=PLAINTEXT://:9090
#日誌目錄,默認目錄在tmp下面,重啓後就會被清空,所以要重新指定一個目錄
log.dirs=/root/kafka-tmp/log
#zookeeper地址
zookeeper.connect=hlsijx:2181

因爲我們要創建三個broker,因此這個配置文件也需要三份
server-1.properties

broker.id=1
listeners=PLAINTEXT://:9091
log.dirs=/root/kafka-tmp/log-1
zookeeper.connect=hlsijx:2181

server-2.properties

broker.id=2
listeners=PLAINTEXT://:9092
log.dirs=/root/kafka-tmp/log-2
zookeeper.connect=hlsijx:2181

server-3.properties

broker.id=3
listeners=PLAINTEXT://:9093
log.dirs=/root/kafka-tmp/log-3
zookeeper.connect=hlsijx:2181

啓動Kafka

當前路徑:$KAFKA_HOME/config,執行命令:

$ kafka-server-start.sh -daemon server-1.properties &
$ kafka-server-start.sh -daemon server-2.properties &
$ kafka-server-start.sh -daemon server-3.properties &

啓動完成後可以看到有3個kafka進程
在這裏插入圖片描述

創建Topic

#創建一個topic,名字叫my-replicated-topic,連接到zookeeper,3副本,1分區
kafka-topics.sh --create --zookeeper hlsijx:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic

執行完成後會提示“Created topic “my-replicated-topic”.”再來看一下topic的描述信息:

kafka-topics.sh --describe --zookeeper hlsijx:2181 --topic my-replicated-topic

在這裏插入圖片描述
從圖中我們可以看到,當前的Leader是2,副本在2,3,1上都有且三個節點都活着

生產&消費消息

生產消息:

kafka-console-producer.sh --broker-list hlsijx:9091,hlsijx:9092,hlsijx:9093 --topic my-replicated-topic

消費消息:

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