通过控制台在远程服务器上测试Kafkabroker/topics的最佳简单方法是什么



让我解释一下我的场景。我有一个托管在B计算机上的Asp.NetCore应用程序。该应用程序负责在托管在A机器上的代理中生成指向主题的消息。但它不能产生任何关于主题的消息,这就是为什么我想通过控制台进行测试。我不想在B机器上安装太多应用程序。因此,我正在寻找一种有效而简单的方法来测试托管在A机器中的broker。连接上可能存在身份验证和授权问题。有人知道吗?

我应用了一个解决方案,它对大家都很有用;

我在B机器上有Python。正因为如此,我选择用python来解决它。

它是建筑.sh;

#!/bin/bash
# Change current directory to project directory.
cd "$(dirname "$0")" || exit
# Install python3-venv package if not installed.
sudo apt install python3-venv
# Create virtual environment directory
python3 -m venv "venv/"
# Activate virtual environment
source "venv/bin/activate"
echo "[INFO] USING PYTHON:" "$(which python)"
echo "[INFO] USING PIP:" "$(which pip)"
# Upgrade Python
python -m pip install --upgrade pip
# Check the version of pip
# Version must be below 18.XX and compatible with Python 3.4+
pip --version
# Install dependencies
pip install  kafka-python==2.0.0

用于Kafka消费者测试的Tha-main.py;

from kafka import TopicPartition
from kafka import KafkaConsumer
from datetime import datetime
import time, threading
import sys
print("Initialize")
consumer = KafkaConsumer(bootstrap_servers='yourbootstrapservers')
consumer.subscribe(['topicName'])
print('start for consuming')
for msg in consumer:
print(msg)
print(next(consumer))
print("ended")

首先需要执行build.sh,然后执行main.py进行消费。如果一切顺利,你会看到一些数据。

最新更新