如何在Windows上运行Apache Kafka?

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规范”部分中找到“操作系统版本”。

如何在Windows上运行Apache Kafka?_第1张图片

图1

如果您使用Windows Update,可能拥有最新版本,可以上手。如果没有,您需要更新Windows 10。

如果您确信Windows是最新的,按照以下说明来安装WSL 2。

启用Windows Subsystem for Linux

在安装Linux发行版之前,开启Windows Subsystem for Linux功能。以管理员身份打开PowerShell,然后运行以下命令:

  1. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

这可能需要一两分钟。输出应类似以下内容:

  1. Deployment Image Servicing and Management tool
  2. Version: 10.0.18362.1139
  3. Image Version: 10.0.18363.1139
  4. Enabling feature(s)
  5. [==========================100.0%==========================]
  6. The operation completed successfully.

启用虚拟机功能

WSL 2需要虚拟机平台功能。在PowerShell中,运行以下命令:

  1. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

获取Linux内核更新

下载Linux内核更新程序包,这是常规的Windows Installer(.msi)文件。

双击.msi文件以安装WSL 2更新。如果系统提示您提升权限,请选择“是”以批准安装。

设置默认的WSL版本

在PowerShell中运行以下命令,将WSL 2设置为Linux发行版的默认版本:

  1. wsl --set-default-version 2

输出应类似以下内容:

  1. 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”。

如何在Windows上运行Apache Kafka?_第2张图片

图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:

输入用户名和密码以完成安装。

如何在Windows上运行Apache Kafka?_第3张图片

图3

安装Java

运行程序包管理器以获得最新更新。在上面打开的Ubuntu外壳窗口中,运行以下命令:

  1. sudo apt-get update && sudo apt-get upgrade -y
  2. ℹ️ Tip: Right-click pastes text into the terminal window.

Kafka要求Java运行时环境版本8或更高。查看Linux安装系统中的Java版本:

  1. java -version

输入应类似这样:

  1. openjdk version "1.8.0_265"
  2. OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~20.04-b01)
  3. OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

如果Java未安装或不是合适的版本,使用发行版的程序包管理器来安装它。有许多方法来安装Java。在Ubuntu上,这是最简单的方法之一:

  1. sudo apt install openjdk-8-jdk -y

下载Kafka

可以使用程序包管理器来安装Kafka,也可以下载打包文件(tarball),直接解压缩到本地机器上。

Kafka下载网站选择一个镜像,下载打包文件。下列命令下载Apache Kafka版本2.6:

  1. wget https://ftp.wayne.edu/apache/...

运行以下命令,解压Kafka压缩包,并通过cd切换到kafka目录:

  1. tar -xzf kafka_2.13-2.6.0.tgz
  2. cd kafka_2.13-2.6.0

运行ls –al命令,列出kafka目录的内容:

  1. total 64
  2. drwxr-xr-x  7 jim jim  4096 Oct 14 12:27 ./
  3. drwxr-xr-x 25 jim jim  4096 Nov 20 12:52 ../
  4. -rw-r--r--  1 jim jim 29975 Jul 28 11:16 LICENSE
  5. -rw-r--r--  1 jim jim   337 Jul 28 11:16 NOTICE
  6. drwxr-xr-x  3 jim jim  4096 Jul 28 11:23 bin/
  7. drwxr-xr-x  2 jim jim  4096 Jul 28 11:23 config/
  8. drwxr-xr-x  2 jim jim  4096 Oct 14 12:26 libs/
  9. drwxr-xr-x  2 jim jim  4096 Oct 14 12:28 logs/
  10. drwxr-xr-x  2 jim jim  4096 Jul 28 11:23 site-docs/

启动Kafka集群

运行以下命令启动ZooKeeper:

  1. bin/zookeeper-server-start.sh config/zookeeper.properties

会有好多输出,ZooKeeper很快准备就绪,通常只需一两秒。

打开另一个终端会话。将目录切换到kafka目录,启动Kafka代理:

  1. cd kafka_2.13-2.6.0
  2. bin/kafka-server-start.sh config/server.properties

如果您将窗口排列成并排,输出应该类似以下屏幕截图:

如何在Windows上运行Apache Kafka?_第4张图片

图4. 在Windows和WSL 2上运行的Ubuntu 20.04上的ZooKeeper(左)和Kafka代理(右)。

生成和使用一些消息

打开另一个终端会话,运行kafka-topics命令,创建一个名为quickstart-events的Kafka主题:

  1. cd kafka_2.13-2.6.0
  2. bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

输出应类似这样:

  1. first event
  2. second event
  3. third event

将生成者和使用者终端窗口并排排列。在生成者终端中,多输入几个消息,观察它们在使用者终端中出现的情况。

如何在Windows上运行Apache Kafka?_第5张图片

图5

停止Kafka

试用过Kafka后,遵循这些步骤以退出Kafka环境:

  1. 使用Ctrl+C停止使用者和生产成客户端
  2. 使用Ctrl+C停止Kafka代理
  3. 使用Ctrl+C停止ZooKeeper服务器
  4. 运行以下命令以清理:
  5. rm -rf /tmp/kafka-logs /tmp/zookeeper

你可能感兴趣的:(windowskafka)