wget http://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz
tar -xzvf kafka_2.12-2.2.0.tgz
在kafka目錄下:
cd config
vim server.properties
####
然後在server.properties文件中進行以下設置
#當前機器在集羣中的唯一標識,和zookeeper的myid性質一樣
broker.id=0
#當前kafka對外提供服務的端口默認是9092
port=9092
#主機ip
host.name=172.18.13.17
#消息存放的目錄,這個目錄可以配置爲“,”逗號分割的表達式,上面的num.io.threads要大於這個目錄的個數這個目錄,如果配置多個目錄,新創建的topic他把消息持久化的地方是,當前以逗號分割的目錄中,那個分區數最少就放那一個
log.dirs=/home/wanguri/downloads/kafka_2.12-2.2.0/kafka-logs
#設置zookeeper的連接端口
zookeeper.connect=127.0.0.1:2181
在kafka目錄下,新建kafkastart.sh腳本,運行腳本啓動kafka:
#啓動zookeeper
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/zookeeper-server-start.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/zookeeper.properties &
#睡眠3秒在執行下一條
sleep 3
#啓動kafka
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/kafka-server-start.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/server.properties &
在kafka目錄下,新建kafkastop.sh腳本,運行腳本關閉kafka:
#關閉zookeeper
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/zookeeper-server-stop.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/zookeeper.properties &
#睡眠3秒在執行下一條
sleep 3
#關閉kafka
/home/wangrui/downloads/kafka_2.12-2.2.0/bin/kafka-server-stop.sh /home/wangrui/downloads/kafka_2.12-2.2.0/config/server.properties
或者是直接執行命令關閉也可以:
cd kafka_2.12-2.1.0/bin/
./zookeeper-server-stop.sh ../config/zookeeper.properties & #關閉kafka自帶的zookeeper(若不用自帶zookeeper可不執行此句)
./kafka-server-stop.sh ../config/server.properties
如果報錯如下,表示有些文件路徑還不存在,可以忽略這個錯誤,因爲創建完之後就不會報錯了:
[2019-12-06 03:25:14,412] INFO Got user-level KeeperException when processing sessionid:0x100e3191a8f0000 type:multi cxid:0x2e zxid:0x3f txntype:-1 reqpath:n
/a aborting remaining multi ops. Error Path:/admin/preferred_replica_election Error:KeeperErrorCode = NoNode for /admin/preferred_replica_election (org.apache.zookeeper.server.PrepRequestProcessor)
注意在啓動之前要確認是否已經關閉上一次開啓的kafka server,如果沒有啓動時候會報錯。
創建一個topic,名字叫做test。只有一個分區和一個備份:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
生產消息:
bin/kafka-console-producer.sh --broker-list 172.18.13.17:9092 --topic test
消費消息:這裏172.18.13.17是本機IP
bin/kafka-console-consumer.sh --bootstrap-server 172.18.13.17:9092 --topic test --from-beginning