117.info
人生若只如初见

Kafka如何在Ubuntu上部署

在Ubuntu上部署Apache Kafka的步骤如下:

1. 安装Java开发工具包(JDK)

首先,确保你的系统上安装了JDK。你可以使用以下命令来安装OpenJDK 8:

sudo apt update
sudo apt install openjdk-8-jdk

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

java -version

2. 安装Zookeeper

Kafka依赖于Zookeeper,因此你需要先安装Zookeeper。你可以从Apache官网下载Zookeeper的安装包,并使用以下命令进行安装:

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar xvf zookeeper-3.4.6.tar.gz
sudo mv zookeeper-3.4.6 /usr/local/zookeeper

接下来,配置Zookeeper:

sudo cat > /usr/local/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF

启动Zookeeper服务:

sudo /usr/local/zookeeper/bin/zkServer.sh start

验证Zookeeper是否启动成功:

sudo netstat -nap | grep 2181

3. 安装Kafka

下载Kafka安装包,你可以从Apache Kafka官网下载最新版本的Kafka:

wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka

配置Kafka:

cd /usr/local/kafka
sudo mkdir /tmp/kafka-logs

编辑Kafka的配置文件server.properties

sudo nano /usr/local/kafka/config/server.properties

确保以下配置项正确设置:

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181

启动Kafka服务:

sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties

验证Kafka是否启动成功:

sudo netstat -nap | grep 9092

4. 创建和测试Kafka Topic

创建一个名为test的Topic:

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

列出所有Topic以确认新Topic已创建:

sudo /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181

使用Kafka控制台生产者发送消息:

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

使用Kafka控制台消费者消费消息:

sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

5. (可选)配置Kafka集群

如果你需要部署一个Kafka集群,可以复制Kafka目录并修改每个副本的server.properties文件,确保broker.idlisteners等配置项不同。然后分别启动每个Kafka实例。

注意事项

  • 确保所有配置文件中的路径和端口设置正确。
  • 如果你在云环境中部署Kafka,确保配置了正确的网络设置,以便Kafka实例之间可以相互通信。
  • 定期检查Kafka和Zookeeper的日志文件,以便及时发现和解决问题。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe2abAzsNAA5RBlM.html

推荐文章

  • Ubuntu Aliases有哪些实用技巧

    在Ubuntu系统中,alias命令允许用户为常用的或复杂的命令创建简短的别名,从而提高工作效率。以下是一些实用的alias技巧:
    常用alias命令 列出所有文件(包...

  • Ubuntu如何解决phpstorm内存不足问题

    在Ubuntu上解决PHPStorm内存不足问题,可以通过调整PHPStorm的内存设置来实现。以下是具体的步骤和建议:
    调整PHPStorm的内存设置 找到PHPStorm的vmoptions...

  • Ubuntu Apache配置最佳实践

    在Ubuntu上配置Apache服务器时,遵循一些最佳实践可以帮助确保服务器的安全性、性能和可维护性。以下是一些关键步骤和最佳实践:
    安装Apache
    首先,确...

  • ubuntu如何关闭swap功能

    在Ubuntu系统中,关闭swap功能可以通过以下步骤实现:
    方法一:临时关闭swap 查看当前swap状态:
    sudo swapon --show 临时禁用swap:
    sudo swapo...

  • CentOS VNC权限设置步骤

    在CentOS系统上设置VNC权限的步骤如下: 安装VNC服务器:
    使用yum命令安装VNC服务器。例如,安装TigerVNC服务器:
    sudo yum install tigervnc-server ...

  • Ubuntu中copendir命令使用技巧分享

    copyleft 是一个与版权相关的概念,它指的是一种版权许可方式,要求任何发布衍生作品的人必须以相同的许可条款发布他们的作品。这与 copird 命令无关,因为 copi...

  • 如何在VirtualBox中安装Debian图形界面

    在VirtualBox中安装Debian图形界面的步骤如下: 下载Debian镜像: 访问Debian官方网站,根据需求选择下载CD或DVD镜像。对于国内用户,DVD镜像包含了更多的软件包...

  • Node.js日志轮转策略是什么

    Node.js 日志轮转策略主要是通过配置日志库来实现日志文件的自动切割、压缩和归档。常见的日志库如 Winston 和 Pino 都提供了日志轮转的功能。以下是使用 Winsto...