Windows是您青眼的开发环境吗?想在Windows上运行Apache Kafka吗?因为Windows Subsystem for Linux 2(WSL 2),当初你能够如愿以偿。 Windows依然不是拿Kafka与生产级工作负载一起运行的举荐平台,然而想试用Kafka,齐全没问题。无妨看看如何做到这点。
一、搭建环境
装置WSL 2
Windows Subsystem for Linux 2使这所有成为可能。微软称,WSL 2是“一种间接在Windows上的GNU/Linux环境(包含大多数命令行工具、实用程序和应用程序),未经批改,没有传统虚拟机或双重启动设置的开销。”
确保您在运行Windows 10版本1903.18362或更高版本。点击“开始”,而后进入到设置>零碎>对于。在“ Windows标准”局部中找到“操作系统版本”。
图1
如果您应用Windows Update,可能领有最新版本,能够上手。如果没有,您须要更新Windows 10。
如果您确信Windows是最新的,依照以下阐明来装置WSL 2。
启用Windows Subsystem for Linux
在装置Linux发行版之前,开启Windows Subsystem for Linux性能。以管理员身份关上PowerShell,而后运行以下命令:
- dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
这可能须要一两分钟。输入应相似以下内容:
- 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.
启用虚拟机性能
WSL 2须要虚拟机平台性能。在PowerShell中,运行以下命令:
- dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
获取Linux内核更新
下载Linux内核更新程序包,这是惯例的Windows Installer(.msi)文件。
双击.msi文件以装置WSL 2更新。如果零碎提醒您晋升权限,请抉择“是”以批准装置。
设置默认的WSL版本
在PowerShell中运行以下命令,将WSL 2设置为Linux发行版的默认版本:
- wsl --set-default-version 2
输入应相似以下内容:
- For information on key differences with WSL 2 please visit https://aka.ms/wsl2
WSL 2能够应用了。想理解装置WSL 2的更多信息(包含故障排查),请参阅《面向Windows 10的Windows Subsystem for Linux装置指南》。
装置您青眼的Linux发行版
从Microsoft Store装置Linux,就像在Windows上装置其余应用程序一样。
关上Microsoft Store应用程序,搜寻“Linux”。
图2
本文应用Ubuntu 20.04。抉择Ubuntu 20.04 LTS,而后点击“装置”。
装置实现后,点击“启动”。外壳将关上并显示以下音讯:
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
运行程序包管理器以取得最新更新。在下面关上的Ubuntu外壳窗口中,运行以下命令:
- sudo apt-get update && sudo apt-get upgrade -y
- ℹ️ Tip: Right-click pastes text into the terminal window.
Kafka要求Java运行时环境版本8或更高。查看Linux装置零碎中的Java版本:
- java -version
输出应相似这样:
- 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未装置或不是适合的版本,应用发行版的程序包管理器来装置它。有许多办法来装置Java。在Ubuntu上,这是最简略的办法之一:
- sudo apt install openjdk-8-jdk -y
下载Kafka
能够应用程序包管理器来装置Kafka,也能够下载打包文件(tarball),间接解压缩到本地机器上。
从Kafka下载网站抉择一个镜像,下载打包文件。下列命令下载Apache Kafka版本2.6:
- wget https://ftp.wayne.edu/apache/...
运行以下命令,解压Kafka压缩包,并通过cd切换到kafka目录:
- tar -xzf kafka_2.13-2.6.0.tgz
- cd kafka_2.13-2.6.0
运行ls –al命令,列出kafka目录的内容:
- 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/
启动Kafka集群
运行以下命令启动ZooKeeper:
- bin/zookeeper-server-start.sh config/zookeeper.properties
会有好多输入,ZooKeeper很快准备就绪,通常只需一两秒。
关上另一个终端会话。将目录切换到kafka目录,启动Kafka代理:
- cd kafka_2.13-2.6.0
- bin/kafka-server-start.sh config/server.properties
如果您将窗口排列成并排,输入应该相似以下屏幕截图:
图4. 在Windows和WSL 2上运行的Ubuntu 20.04上的ZooKeeper(左)和Kafka代理(右)。
生成和应用一些音讯
关上另一个终端会话,运行kafka-topics命令,创立一个名为quickstart-events的Kafka主题:
- cd kafka_2.13-2.6.0
- bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
输入应相似这样:
- first event
- second event
- third event
将生成者和使用者终端窗口并排排列。在生成者终端中,多输出几个音讯,察看它们在使用者终端中呈现的状况。
图5
进行Kafka
试用过Kafka后,遵循这些步骤以退出Kafka环境:
- 应用Ctrl+C进行使用者和生产成客户端
- 应用Ctrl+C进行Kafka代理
- 应用Ctrl+C进行ZooKeeper服务器
- 运行以下命令以清理:
- rm -rf /tmp/kafka-logs /tmp/zookeeper