前言
上篇文章講解了 Kafka 的基礎概念和架構,瞭解了基本概念之後,必須得實踐一波了,所謂“實踐纔是檢驗真理的唯一辦法”,後續系列關於 Kafka 的文章都以 kafka_2.11-0.9.0.0 爲例;另外爲了讓大家快速入門,本文只提供單機版的安裝實戰教程,如果有想嘗試集羣方案的,後面在出一篇集羣安裝的教程,廢話不多說了,直接開幹。
安裝
1. 下載
版本號:kafka_2.11-0.9.0.0
下載地址:http://kafka.apache.org/downloads
2. 安裝
# 安裝目錄
$ pwd
/Users/my/software/study
# 減壓
$ sudo tar -zxvf kafka_2.11-0.9.0.0.tgz
# 重命名
$ sudo mv kafka_2.11-0.9.0.0.tgz kafka-0.9
# 查看目錄結構
$ cd kafka-0.9 && ls
LICENSE NOTICE bin config libs site-docs
# 目錄結構介紹:
# bin: 存放kafka 客戶端和服務端的執行腳本
# config: 存放kafka的一些配置文件
# libs: 存放kafka運行的的jar包
# site-docs: 存放kafka的配置文檔說明
# 配置環境變量,方便在任意目錄下運行kafka命令
# 博主使用的Mac,所以配置在了 ~/.bash_profile文件中,
# Linux中則配置在 ~/.bashrc 或者 ~/.zshrc文件中
$ vim ~/.bash_profile
export KAFKA_HOME=/Users/haikuan1/software/study/kafka-0.9
export PATH=$PATH:$JAVA_HOME:$KAFKA_HOME/bin
# 使得環境變量生效
$ source ~/.bash_profile
3.運行
3.1 啓動 zookeeper
# 啓動zookeeper,因爲kafka的元數據需要保存到zookeeper中
$ bin/zookeeper-server-start.sh config/zookeeper.properties
# 若出現如下信息,則證明zookeeper啓動成功了
[2020-04-25 16:23:44,493] INFO Server environment:user.dir=/Users/haikuan1/software/study/kafka-0.10 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,505] INFO tickTime set to 3000 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,505] INFO minSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,505] INFO maxSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-04-25 16:23:44,548] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
3.2 啓動 Kafka server
# 以守護進程的方式啓動kafka服務端,去掉 -daemon 參數則關閉當前窗口服務端自動退出
$ bin/kafka-server-start.sh -daemon config/server.properties
3.3 kafka 基礎命令使用
# 1. 創建一個topic
# --replication-factor:指定副本個數
# --partition:指定partition個數
# --topic:指定topic的名字
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 1 --topic mytopic
# 2. 查看創建成功的topic
$ kafka-topics.sh --list --zookeeper localhost:2181
# 3. 創建生產者和消費者
# 3.1 啓動kafka消費端
# --from-beginning:從頭開始消費,該特性也表明kafka消息具有持久性
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic mytopic --from-beginning
# 3.2 啓動kafka生產端
# --broker-list:當前的Broker列表,即提供服務的列表
$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
4.使用 Java 連接 kafka 進行測試
4.1 創建一個 maven 工程,引入如下 pom 依賴
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.9.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.9.0.0</version>
</dependency>
4.2 消費者端代碼
4.3 生產者端代碼
4.4 消費者端效果圖
5.總結
本文介紹了 kafka 單機版安裝及簡單命令使用,然後使用 Java 實現了生產者和消費者的簡單功能,雖然內容可能比較簡單,但還是強烈建議大家手動去實踐一下,從而對 kafka 的架構有一個更深入的理解。下篇文章我們來介紹一下 Kafka 常用參數及其背後的原理,敬請期待。
關注作者,系列文章不迷路,白嫖點個再看鼓勵一下
關注作者,系列文章不迷路,白嫖點個再看鼓勵一下