Kafka生产者在Ubuntu上的配置

1766
2025/3/29 12:32:41
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上配置Kafka生产者涉及几个步骤,包括安装必要的软件、配置Kafka和Zookeeper,以及创建和启动Kafka服务器。以下是详细的步骤:

1. 安装Java环境

首先,确保你的系统上安装了Java运行环境(JRE)。你可以使用以下命令来安装OpenJDK 8:

sudo apt update
sudo apt install openjdk-8-jdk

安装完成后,验证Java是否正确安装:

java -version

2. 安装Zookeeper

Kafka依赖于Zookeeper来管理集群状态。以下是安装和配置Zookeeper的步骤:

  • 下载Zookeeper:

    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.15/zookeeper-3.4.15.tar.gz
    
  • 解压Zookeeper:

    tar -xzvf zookeeper-3.4.15.tar.gz
    
  • 移动Zookeeper到/usr/local:

    sudo mv zookeeper-3.4.15 /usr/local/zookeeper
    
  • 配置Zookeeper:

    编辑/usr/local/zookeeper/conf/zoo.cfg文件,添加以下内容:

    tickTime=2000
    dataDir=/var/lib/zookeeper
    clientPort=2181
    
  • 启动Zookeeper:

    sudo /usr/local/zookeeper/bin/zkServer.sh start
    
  • 验证Zookeeper是否启动成功:

    sudo netstat -nap | grep 2181
    

3. 安装Kafka

  • 下载Kafka:

    wget https://downloads.apache.org/kafka/2.8.1/kafka_2.13-2.8.1.tgz
    
  • 解压Kafka:

    tar -xzvf kafka_2.13-2.8.1.tgz
    
  • 移动Kafka到/usr/local:

    sudo mv kafka_2.13-2.8.1 /usr/local/kafka
    
  • 创建日志目录:

    sudo mkdir /tmp/kafka-logs
    
  • 启动Kafka服务器:

    sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
    
  • 验证Kafka是否启动成功:

    sudo netstat -nap | grep 9092
    

4. 创建和配置Topic

  • 创建Topic:

    sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    

5. 配置Kafka生产者

你可以使用Kafka提供的命令行工具来测试生产者。以下是一个简单的生产者示例:

/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

在控制台中输入消息后,按Ctrl+C结束。

6. 编写和运行生产者代码(可选)

以下是一个使用Python和kafka-python库的简单生产者示例:

producer.py:

from kafka import KafkaProducer
import json
import time

producer = KafkaProducer(bootstrap_servers="localhost:9092")

for i in range(10):
    data = {'num': i, 'ts': time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())}
    producer.send('test', json.dumps(data).encode('utf-8'))
    time.sleep(1)

运行生产者脚本:

python3 producer.py

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Ubuntu Trigger安装教程