乐趣区

关于windows:如何在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 标准”局部中找到“操作系统版本”。

图 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”。

图 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 外壳窗口中,运行以下命令:

  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

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

图 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

将生成者和使用者终端窗口并排排列。在生成者终端中,多输出几个音讯,察看它们在使用者终端中呈现的状况。

图 5

进行 Kafka

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

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