1、集群規劃
IP地址 | 系統 | 環境 |
---|---|---|
192.168.150.101 | CentOS7 | jdk8,Zookeeper 3.4.14 |
192.168.150.102 | CentOS7 | jdk8,Zookeeper 3.4.14 |
192.168.150.103 | CentOS7 | jdk8,Zookeeper 3.4.14 |
2、下載安裝
2.1、下載
下載地址:http://kafka.apache.org/downloads
根據自己的需求,選擇相對應的版本,我這是用的是kafka_2.11-1.1.1。
解釋:kafka_2.11-1.1.1中有兩個版本號,2.11表示Scala的版本號,1.1.1表示Kafka的版本號。
2.2、安裝
將下載好的壓縮包,解壓到自己指定的路徑下,例如:
tar -zxvf kafka_2.11-1.1.1.tgz -C /opt/module/
3、配置文件參數說明
進入到 config/ 目錄下,里面有一個 server.properties 文件,這個就是 kafka 的配置文件。這里只介紹部分參數,其他參數請看 http://kafka.apache.org/documentation/#brokerconfigs
參數名 | 默認值 | 描述 |
---|---|---|
broker.id | -1 | 表示該節點在Kafka集群中broker的唯一標識。 |
listeners | 無 | 表示broker 監聽客戶端連接的地址列表。配置格式為:protocol://hostname:port。其中protocol 表示協議類型,hostname表示主機名,port表示端口號。 |
log.dirs | /tmp/kafka-logs | 表示用來配置Kafka日志文件存放的根目錄。并且可以配置多個根目錄(以逗號分隔)。 |
num.partitions | 1 | 表示主題的分區數。 |
log.retention.hours | 168 | 表示日志文件的留存時間,單位為小時。 |
log.segment.bytes | 1073741824 | 表示日志分段文件的最大值,超過這個值會強制創建一個新的日志分段。 |
zookeeper.connect | 無 | 表示連接的Zookeeper集群地址,表示多個地址時用逗號分隔。并且可以配置chroot路徑,即指定節點為根路徑。例如:192.168.150.101:2181,192.168.150.102:2181, 192.168.150.103:2181/kafka |
zookeeper.connection.timeout.ms | 6000 | 表示連接 Zookeeper 集群的超時時間。 |
delete.topic.enable | true | 表示是否開啟刪除主題。 |
4、修改配置
4.1、修改配置文件
修改以下參數:
broker.id=0
listeners=PLAINTEXT://192.168.0.10:9092
log.dirs=/data/kafka/data
zookeeper.connect=192.168.150.101:2181,192.168.150.102:2181,192.168.150.103:2181/kafka
注意:這里只進行了簡單的配置,請根據自己的業務需求進行修改。
4.2、創建數據目錄
根據配置文件中的 log.dirs 參數創建對應的目錄。
5、配置其他機器
根據上面的步驟在其他兩臺機器上進行配置。
注意:一定要根據不同服務器修改 broker.id 和 listeners 參數。
6、啟動與關閉服務
在根目錄中有一個 /bin 文件夾,Kafka中所有的腳本工具都在這個目錄下。
6.1、啟動服務
在 kafka 根目錄下執行如下命令:
bin/kafka-server-start.sh -daemon config/server.properties
- -daemon: 表示指定服務后臺運行。
注意:在啟動 kafka 集群之前,要先啟動 Zookeeper 集群。
6.2、關閉服務
在 kafka 根目錄下執行如下命令:
bin/kafka-server-stop.sh