1抛姑、集群規(guī)劃
IP地址 | 系統(tǒng) | 環(huán)境 |
---|---|---|
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
根據(jù)自己的需求歪脏,選擇相對應的版本,我這是用的是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懒浮、配置文件參數(shù)說明
進入到 config/ 目錄下,里面有一個 server.properties 文件识藤,這個就是 kafka 的配置文件砚著。這里只介紹部分參數(shù),其他參數(shù)請看 http://kafka.apache.org/documentation/#brokerconfigs
參數(shù)名 | 默認值 | 描述 |
---|---|---|
broker.id | -1 | 表示該節(jié)點在Kafka集群中broker的唯一標識痴昧。 |
listeners | 無 | 表示broker 監(jiān)聽客戶端連接的地址列表稽穆。配置格式為:protocol://hostname:port。其中protocol 表示協(xié)議類型赶撰,hostname表示主機名舌镶,port表示端口號。 |
log.dirs | /tmp/kafka-logs | 表示用來配置Kafka日志文件存放的根目錄豪娜。并且可以配置多個根目錄(以逗號分隔)餐胀。 |
num.partitions | 1 | 表示主題的分區(qū)數(shù)。 |
log.retention.hours | 168 | 表示日志文件的留存時間瘤载,單位為小時否灾。 |
log.segment.bytes | 1073741824 | 表示日志分段文件的最大值,超過這個值會強制創(chuàng)建一個新的日志分段惕虑。 |
zookeeper.connect | 無 | 表示連接的Zookeeper集群地址坟冲,表示多個地址時用逗號分隔磨镶。并且可以配置chroot路徑,即指定節(jié)點為根路徑健提。例如: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脐嫂、修改配置文件
修改以下參數(shù):
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
注意:這里只進行了簡單的配置,請根據(jù)自己的業(yè)務需求進行修改紊遵。
4.2账千、創(chuàng)建數(shù)據(jù)目錄
根據(jù)配置文件中的 log.dirs 參數(shù)創(chuàng)建對應的目錄。
5暗膜、配置其他機器
根據(jù)上面的步驟在其他兩臺機器上進行配置匀奏。
注意:一定要根據(jù)不同服務器修改 broker.id 和 listeners 參數(shù)。
6学搜、啟動與關閉服務
在根目錄中有一個 /bin 文件夾娃善,Kafka中所有的腳本工具都在這個目錄下。
6.1瑞佩、啟動服務
在 kafka 根目錄下執(zhí)行如下命令:
bin/kafka-server-start.sh -daemon config/server.properties
- -daemon: 表示指定服務后臺運行聚磺。
注意:在啟動 kafka 集群之前,要先啟動 Zookeeper 集群炬丸。
6.2瘫寝、關閉服務
在 kafka 根目錄下執(zhí)行如下命令:
bin/kafka-server-stop.sh