Kafka詳解二、如何配置Kafka叢集
問題導讀
1.Kafka有哪幾種配製方法?
2.如何啟動一個Consumer例項來消費訊息?
Kafka叢集配置比較簡單,為了更好的讓大家理解,在這裡要分別介紹下面三種配置
一、單節點單broker例項的配置
1. 首先啟動zookeeper服務 Kafka本身提供了啟動zookeeper的指令碼(在kafka/bin/目錄下)和zookeeper配置檔案(在kafka/config/目錄下),首先進入Kafka的主目錄(可通過 whereis kafka命令查詢到):
[root@localhost kafka-0.8]# bin/zookeeper-server-start.sh config/zookeeper.properties
zookeeper配置檔案的一些重要屬性:
# Data directory where the zookeeper snapshot is stored.
dataDir=/tmp/zookeeper
# The port listening for client request
clientPort=2181 預設情況下,zookeeper伺服器會監聽 2181埠,更詳細的資訊可去zookeeper官網查閱。
2. 啟動Kafka broker 執行kafka提供的啟動kafka服務指令碼即可:
[root@localhost kafka-0.8]# bin/kafka-server-start.sh config/server.properties
broker配置檔案中的重要屬性:
# broker的id. 每個broker的id必須是唯一的.
Broker.id=0
# 存放log的目錄
log.dir=/tmp/kafka8-logs
# Zookeeper 連線串
zookeeper.connect=localhost:2181
3. 建立一個僅有一個Partition的topic [root@localhost kafka-0.8]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopic
4. 用Kafka提供的生產者客戶端啟動一個生產者程式來傳送訊息 [root@localhost kafka-0.8]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kafkatopic
其中有兩個引數需要注意:
然後你就可以輸入一些訊息了,如下圖:
5. 啟動一個Consumer例項來消費訊息 [root@localhost kafka-0.8]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic kafkatopic --from-beginning
當你執行這個命令之後,你便可以看到控制檯上列印出的生產者生產的訊息:
和消費者相關的屬性配置存放在Consumer.properties檔案中,重要的屬性有:
# consumer的group id (A string that uniquely identifies a set of consumers
# within the same consumer group)
groupid=test-consumer-group
# zookeeper 連線串
zookeeper.connect=localhost:2181
二、單節點執行多broker例項
1.啟動zookeeper 和上面的一樣
2.啟動Kafka的broker 要想在一臺機器上啟動多個broker例項,只需要準備多個server.properties檔案即可,比如我們要在一臺機器上啟動兩個broker:
首先我們要準備兩個server.properties配置檔案
[root@localhost kafka-0.8]# env JMX_PORT=9999 bin/kafka-server-start.sh config/server-1.properties
[root@localhost kafka-0.8]# env JMX_PORT=10000 bin/kafka-server-start.sh config/server-2.properties
可以看到我們啟動是為每個broker都指定了不同的JMX Port,JMX Port主要用來利用jconsole等工具進行監控和排錯
3.建立一個topic 現在我們要建立一個含有兩個Partition分割槽和2個備份的broker:
[root@localhost kafka-0.8]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 2 --topic othertopic
4.啟動Producer傳送訊息 如果我們要用一個Producer傳送給多個broker,唯一需要改變的就是在broker-list屬性中指定要連線的broker:
[root@localhost kafka-0.8]# bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic othertopic
如果我們要讓不同的Producer傳送給不同的broker,我們也僅僅需要為每個Producer配置響應的broker-list屬性即可。
5.啟動一個消費者來消費訊息 和之前的命令一樣
[root@localhost kafka-0.8]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic othertopic --from-beginning
三、叢集模式(多節點多例項) 介紹了上面兩種配置方法,再理解叢集配置就簡單了,比如我們要配置如下圖所示叢集:
zookeeper配置檔案(zookeeper.properties):不變
broker的配置配置檔案(server.properties):按照單節點多例項配置方法在一個節點上啟動兩個例項,不同的地方是zookeeper的連線串需要把所有節點的zookeeper都連線起來
# Zookeeper 連線串
zookeeper.connect=node1:2181,node2:2181
1.Kafka有哪幾種配製方法?
2.如何啟動一個Consumer例項來消費訊息?
Kafka叢集配置比較簡單,為了更好的讓大家理解,在這裡要分別介紹下面三種配置
- 單節點:一個broker的叢集
- 單節點:多個broker的叢集
-
多節點:多broker叢集
一、單節點單broker例項的配置
1. 首先啟動zookeeper服務 Kafka本身提供了啟動zookeeper的指令碼(在kafka/bin/目錄下)和zookeeper配置檔案(在kafka/config/目錄下),首先進入Kafka的主目錄(可通過 whereis kafka命令查詢到):
[root@localhost kafka-0.8]# bin/zookeeper-server-start.sh config/zookeeper.properties
zookeeper配置檔案的一些重要屬性:
# Data directory where the zookeeper snapshot is stored.
dataDir=/tmp/zookeeper
# The port listening for client request
clientPort=2181 預設情況下,zookeeper伺服器會監聽 2181埠,更詳細的資訊可去zookeeper官網查閱。
2. 啟動Kafka broker 執行kafka提供的啟動kafka服務指令碼即可:
[root@localhost kafka-0.8]# bin/kafka-server-start.sh config/server.properties
broker配置檔案中的重要屬性:
# broker的id. 每個broker的id必須是唯一的.
Broker.id=0
# 存放log的目錄
log.dir=/tmp/kafka8-logs
# Zookeeper 連線串
zookeeper.connect=localhost:2181
3. 建立一個僅有一個Partition的topic [root@localhost kafka-0.8]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic kafkatopic
4. 用Kafka提供的生產者客戶端啟動一個生產者程式來傳送訊息 [root@localhost kafka-0.8]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kafkatopic
其中有兩個引數需要注意:
- broker-list:定義了生產者要推送訊息的broker地址,以<IP地址:埠>形式
-
topic:生產者傳送給哪個topic
然後你就可以輸入一些訊息了,如下圖:
5. 啟動一個Consumer例項來消費訊息 [root@localhost kafka-0.8]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic kafkatopic --from-beginning
當你執行這個命令之後,你便可以看到控制檯上列印出的生產者生產的訊息:
和消費者相關的屬性配置存放在Consumer.properties檔案中,重要的屬性有:
# consumer的group id (A string that uniquely identifies a set of consumers
# within the same consumer group)
groupid=test-consumer-group
# zookeeper 連線串
zookeeper.connect=localhost:2181
二、單節點執行多broker例項
1.啟動zookeeper 和上面的一樣
2.啟動Kafka的broker 要想在一臺機器上啟動多個broker例項,只需要準備多個server.properties檔案即可,比如我們要在一臺機器上啟動兩個broker:
首先我們要準備兩個server.properties配置檔案
-
server-1
- brokerid=1
- port=9092
-
log.dir=/temp/kafka8-logs/broker1
-
server-2
- brokerid=2
- port=9093
-
log.dir=/temp/kafka8-logs/broker2
[root@localhost kafka-0.8]# env JMX_PORT=9999 bin/kafka-server-start.sh config/server-1.properties
[root@localhost kafka-0.8]# env JMX_PORT=10000 bin/kafka-server-start.sh config/server-2.properties
可以看到我們啟動是為每個broker都指定了不同的JMX Port,JMX Port主要用來利用jconsole等工具進行監控和排錯
3.建立一個topic 現在我們要建立一個含有兩個Partition分割槽和2個備份的broker:
[root@localhost kafka-0.8]# bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 2 --topic othertopic
4.啟動Producer傳送訊息 如果我們要用一個Producer傳送給多個broker,唯一需要改變的就是在broker-list屬性中指定要連線的broker:
[root@localhost kafka-0.8]# bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic othertopic
如果我們要讓不同的Producer傳送給不同的broker,我們也僅僅需要為每個Producer配置響應的broker-list屬性即可。
5.啟動一個消費者來消費訊息 和之前的命令一樣
[root@localhost kafka-0.8]# bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic othertopic --from-beginning
三、叢集模式(多節點多例項) 介紹了上面兩種配置方法,再理解叢集配置就簡單了,比如我們要配置如下圖所示叢集:
zookeeper配置檔案(zookeeper.properties):不變
broker的配置配置檔案(server.properties):按照單節點多例項配置方法在一個節點上啟動兩個例項,不同的地方是zookeeper的連線串需要把所有節點的zookeeper都連線起來
# Zookeeper 連線串
zookeeper.connect=node1:2181,node2:2181
轉載:http://www.aboutyun.com/thread-11114-1-1.html
相關文章
- Kafka叢集配置Kafka
- 【Kafka】Kafka叢集搭建Kafka
- Zookeeper叢集 + Kafka叢集Kafka
- kafka叢集搭建Kafka
- 如何在Ubuntu-16.04上配置Apache Kafka叢集!UbuntuApacheKafka
- alpakka-kafka(5)-kafka叢集配置與分散式應用部署Kafka分散式
- Kafka學習之(五)搭建kafka叢集之Zookeeper叢集搭建Kafka
- zookeeper叢集及kafka叢集搭建Kafka
- Kafka學習之(六)搭建kafka叢集Kafka
- Kafka 叢集搭建 (自用)Kafka
- 安裝Kafka叢集Kafka
- 初識kafka叢集Kafka
- Kafka叢集操作指南Kafka
- Kafka 叢集如何實現資料同步?Kafka
- 06 . ELK Stack + kafka叢集Kafka
- 快速安裝 kafka 叢集Kafka
- Apache Kafka – 叢集架構ApacheKafka架構
- Mac 使用 docker 搭建 kafka 叢集 + Zookeeper + kafka-managerMacDockerKafka
- Python測試Kafka叢集(kafka-python)PythonKafka
- Zookeeper叢集 + Kafka叢集 + KafkaOffsetMonitor 監控薦Kafka
- kafka的原理及叢集部署詳解Kafka
- kafka系列二:多節點分散式叢集搭建Kafka分散式
- kafka詳解一、Kafka簡介Kafka
- 雅虎開源的Kafka叢集管理器(Kafka Manager)Kafka
- SpringBoot 和 Kafka 叢集Spring BootKafka
- 用 Docker 快速搭建 Kafka 叢集DockerKafka
- kafka-2.11叢集搭建Kafka
- 安裝Zookeeper和Kafka叢集Kafka
- 詳解Kafka ProducerKafka
- Python測試Kafka叢集(pykafka)PythonKafka
- CentOS6.5 安裝Kafka叢集CentOSKafka
- KubeSphere 部署 Kafka 叢集實戰指南Kafka
- kafka詳解三:開發Kafka應用Kafka
- Kafka叢集搭建及必知必會Kafka
- RabbitMQ和Kafka的高可用叢集原理MQKafka
- Docker快速搭建Kafka 1.x叢集DockerKafka
- kafka詳解四:Kafka的設計思想、理念Kafka
- linux搭建kafka叢集,多master節點叢集說明LinuxKafkaAST