如何在Windows上運(yùn)行Apache Kafka?
譯文【51CTO.com快譯】Windows是您青睞的開發(fā)環(huán)境嗎?想在Windows上運(yùn)行Apache Kafka嗎?由于Windows Subsystem for Linux 2(WSL 2),現(xiàn)在你可以如愿以償。 Windows仍然不是拿Kafka與生產(chǎn)級(jí)工作負(fù)載一起運(yùn)行的推薦平臺(tái),但是想試用Kafka,完全沒問題。不妨看看如何做到這點(diǎn)。
一、搭建環(huán)境
安裝WSL 2
Windows Subsystem for Linux 2使這一切成為可能。微軟稱,WSL 2是“一種直接在Windows上的GNU/Linux環(huán)境(包括大多數(shù)命令行工具、實(shí)用程序和應(yīng)用程序),未經(jīng)修改,沒有傳統(tǒng)虛擬機(jī)或雙重啟動(dòng)設(shè)置的開銷。”
確保您在運(yùn)行Windows 10版本1903.18362或更高版本。點(diǎn)擊“開始”,然后進(jìn)入到設(shè)置>系統(tǒng)>關(guān)于。在“ Windows規(guī)范”部分中找到“操作系統(tǒng)版本”。
圖1
如果您使用Windows Update,可能擁有最新版本,可以上手。如果沒有,您需要更新Windows 10。
如果您確信Windows是最新的,按照以下說明來安裝WSL 2。
啟用Windows Subsystem for Linux
在安裝Linux發(fā)行版之前,開啟Windows Subsystem for Linux功能。以管理員身份打開PowerShell,然后運(yùn)行以下命令:
- dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
這可能需要一兩分鐘。輸出應(yīng)類似以下內(nèi)容:
- Deployment Image Servicing and Management tool
- Version: 10.0.18362.1139
- Image Version: 10.0.18363.1139
- Enabling feature(s)
- [==========================100.0%==========================]
- The operation completed successfully.
啟用虛擬機(jī)功能
WSL 2需要虛擬機(jī)平臺(tái)功能。在PowerShell中,運(yùn)行以下命令:
- dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
獲取Linux內(nèi)核更新
下載Linux內(nèi)核更新程序包,這是常規(guī)的Windows Installer(.msi)文件。
雙擊.msi文件以安裝WSL 2更新。如果系統(tǒng)提示您提升權(quán)限,請(qǐng)選擇“是”以批準(zhǔn)安裝。
設(shè)置默認(rèn)的WSL版本
在PowerShell中運(yùn)行以下命令,將WSL 2設(shè)置為L(zhǎng)inux發(fā)行版的默認(rèn)版本:
- wsl --set-default-version 2
輸出應(yīng)類似以下內(nèi)容:
- For information on key differences with WSL 2 please visit https://aka.ms/wsl2
WSL 2可以使用了。想了解安裝WSL 2的更多信息(包括故障排查),請(qǐng)參閱《面向Windows 10的Windows Subsystem for Linux安裝指南》。
安裝您青睞的Linux發(fā)行版
從Microsoft Store安裝Linux,就像在Windows上安裝其他應(yīng)用程序一樣。
打開Microsoft Store應(yīng)用程序,搜索“Linux”。
圖2
本文使用Ubuntu 20.04。選擇Ubuntu 20.04 LTS,然后點(diǎn)擊“安裝”。
安裝完成后,點(diǎn)擊“啟動(dòng)”。外殼將打開并顯示以下消息:
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
輸入用戶名和密碼以完成安裝。
圖3
安裝Java
運(yùn)行程序包管理器以獲得最新更新。在上面打開的Ubuntu外殼窗口中,運(yùn)行以下命令:
- sudo apt-get update && sudo apt-get upgrade -y
- ℹ️ Tip: Right-click pastes text into the terminal window.
Kafka要求Java運(yùn)行時(shí)環(huán)境版本8或更高。查看Linux安裝系統(tǒng)中的Java版本:
- java -version
輸入應(yīng)類似這樣:
- openjdk version "1.8.0_265"
- OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~20.04-b01)
- OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
如果Java未安裝或不是合適的版本,使用發(fā)行版的程序包管理器來安裝它。有許多方法來安裝Java。在Ubuntu上,這是最簡(jiǎn)單的方法之一:
- sudo apt install openjdk-8-jdk -y
下載Kafka
可以使用程序包管理器來安裝Kafka,也可以下載打包文件(tarball),直接解壓縮到本地機(jī)器上。
從Kafka下載網(wǎng)站選擇一個(gè)鏡像,下載打包文件。下列命令下載Apache Kafka版本2.6:
- wget https://ftp.wayne.edu/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz
運(yùn)行以下命令,解壓Kafka壓縮包,并通過cd切換到kafka目錄:
- tar -xzf kafka_2.13-2.6.0.tgz
- cd kafka_2.13-2.6.0
運(yùn)行l(wèi)s –al命令,列出kafka目錄的內(nèi)容:
- total 64
- drwxr-xr-x 7 jim jim 4096 Oct 14 12:27 ./
- drwxr-xr-x 25 jim jim 4096 Nov 20 12:52 ../
- -rw-r--r-- 1 jim jim 29975 Jul 28 11:16 LICENSE
- -rw-r--r-- 1 jim jim 337 Jul 28 11:16 NOTICE
- drwxr-xr-x 3 jim jim 4096 Jul 28 11:23 bin/
- drwxr-xr-x 2 jim jim 4096 Jul 28 11:23 config/
- drwxr-xr-x 2 jim jim 4096 Oct 14 12:26 libs/
- drwxr-xr-x 2 jim jim 4096 Oct 14 12:28 logs/
- drwxr-xr-x 2 jim jim 4096 Jul 28 11:23 site-docs/
啟動(dòng)Kafka集群
運(yùn)行以下命令啟動(dòng)ZooKeeper:
- bin/zookeeper-server-start.sh config/zookeeper.properties
會(huì)有好多輸出,ZooKeeper很快準(zhǔn)備就緒,通常只需一兩秒。
打開另一個(gè)終端會(huì)話。將目錄切換到kafka目錄,啟動(dòng)Kafka代理:
- cd kafka_2.13-2.6.0
- bin/kafka-server-start.sh config/server.properties
如果您將窗口排列成并排,輸出應(yīng)該類似以下屏幕截圖:
圖4. 在Windows和WSL 2上運(yùn)行的Ubuntu 20.04上的ZooKeeper(左)和Kafka代理(右)。
生成和使用一些消息
打開另一個(gè)終端會(huì)話,運(yùn)行kafka-topics命令,創(chuàng)建一個(gè)名為quickstart-events的Kafka主題:
- cd kafka_2.13-2.6.0
- bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
輸出應(yīng)類似這樣:
- first event
- second event
- third event
將生成者和使用者終端窗口并排排列。在生成者終端中,多輸入幾個(gè)消息,觀察它們?cè)谑褂谜呓K端中出現(xiàn)的情況。
圖5
停止Kafka
試用過Kafka后,遵循這些步驟以退出Kafka環(huán)境:
1. 使用Ctrl+C停止使用者和生產(chǎn)成客戶端
2. 使用Ctrl+C停止Kafka代理
3. 使用Ctrl+C停止ZooKeeper服務(wù)器
4. 運(yùn)行以下命令以清理:
- rm -rf /tmp/kafka-logs /tmp/zookeeper
原文標(biāo)題:How to Run Apache Kafka on Windows,作者:Jim Galasyn
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】