Kafka 安装教程

目录

前言

一、安装前的准备

1. 系统要求

2. 安装 JDK

3. 下载 Kafka

二、配置 Kafka

1. 配置 Zookeeper

2. 配置 Kafka Broker

3. 分发Kafka安装包

4. 配置环境变量(xcall.sh)

三、启动 Kafka 和 Zookeeper

四、测试 Kafka

1. 创建 Topic

2. 生产消息

3. 消费消息

五、总结


前言

Kafka 是一种高性能、分布式的消息队列系统,广泛应用于大数据实时处理场景中。本文将详细介绍如何在 Linux 环境中安装和配置 Kafka,希望对初学者有所帮助。

一、安装前的准备

1. 系统要求

  • 操作系统:本文以 CentOS 7 为例,其他 Linux 系统安装步骤类似。
  • Java 环境:Kafka 依赖 Java 运行环境,需要先安装 JDK。
  • Zookeeper: Kafka 依赖 Zookeeper 进行分布式协调。Zookeeper 可以单独安装,也可以使用 Kafka 内置的 Zookeeper 服务。

2. 安装 JDK

  1. 检查是否安装 JDK:java -version
  2. 如果没有安装,可自行安装 JDK。

3. 下载 Kafka

  1. 进入 Kafka 官方下载页面:Kafka 下载页面
  2. 选择合适的 Kafka 版本(比如最新稳定版),复制下载链接。
  3. 下载 Kafka。
  4. 解压文件:
    cd /opt/moudles
    tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/installs/
  5. 修改解压后的文件名称:
    mv kafka_2.12-3.0.0/ kafka3
    # 版本号解读:2.12 是scala版本,3.0.0是kafka版本

二、配置 Kafka

Kafka 主要有两个配置文件:server.propertieszookeeper.properties

1. 配置 Zookeeper

Kafka 依赖 Zookeeper 进行分布式协调。Zookeeper 的配置文件位于 config/zookeeper.properties。(安装Zookeeper时已配置)

2. 配置 Kafka Broker

Kafka Broker 的配置文件位于 config/server.properties

  1. 打开配置文件:
    vi /opt/install/kafka3/config/server.properties
  2. 修改 broker.id(每个 Kafka 节点需要一个唯一的 ID):
    broker.id=0
  3. 配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理):
    zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
    # /kafka的意思是:在zk中创建一个文件夹叫做kafka
  4. 配置日志存储路径:
    log.dirs=/opt/installs/kafka3/datas 

3. 分发Kafka安装包

 xsync.sh /opt/install/kafka3/ 
# 分别在 bigdata02 和 bigdata03上修改配置文件/opt/installs/kafka/config/server.properties 中的 broker.id=1、broker.id=2 
# 注:broker.id 不得重复,整个集群中唯一。

4. 配置环境变量(xcall.sh

# 修改bigdata01的环境变量
export KAFKA_HOME=/opt/installs/kafka3
export PATH=$PATH:$KAFKA_HOME/bin

# 分发一下:
xsync.sh /etc/profile

# 刷新环境变量
 xcall.sh source /etc/profile 

三、启动 Kafka 和 Zookeeper

  1. 启动 Zookeeper:
    xcall.sh zkServer.sh start
    # 或者使用脚本zk.sh start
  2. 启动 Kafka:
    # 依次在 bigdata01、bigdata02、bigdata03 节点上启动 Kafka,先进入到kafka3 这个文件夹中
    
    bin/kafka-server-start.sh -daemon config/server.properties
    
    # 关闭指令
    bin/kafka-server-stop.sh

使用 jps 命令查看进程,确保 Zookeeper 和 Kafka 都已成功启动。

四、测试 Kafka

1. 创建 Topic

bin/kafka-topics.sh --bootstrap-server bigdata01:9092 --create --partitions 1 --replication-factor 3 --topic first

2. 生产消息

bin/kafka-console-producer.sh  --bootstrap-server bigdata01:9092 --topic first 

输入消息内容,然后回车发送。

3. 消费消息

打开另一个终端,输入以下命令接收消息:

bin/kafka-console-consumer.sh --bootstrap-server bigdata01:9092 --topic first 

五、总结

至此,我们成功在 Linux 系统上安装并配置了 Kafka,并进行了简单的消息收发测试。

### 安装和配置Apache Kafka 在Windows上安装和配置Apache Kafka的过程可以分为几个部分。以下是详细的说明: #### 下载Apache Kafka 可以从Apache Kafka的官方网站下载最新版本的二进制发行版[^1]。 ```bash wget https://downloads.apache.org/kafka/<version>/kafka_<scala-version>-<version>.tgz ``` 解压文件并进入目录: ```bash tar -xzf kafka_<scala-version>-<version>.tgz cd kafka_<scala-version>-<version> ``` #### 配置环境变量 为了方便运行Kafka命令,建议将Kafka的`bin`目录添加到系统的PATH环境中。可以通过编辑`.bashrc`或其他shell初始化脚本来完成此操作: ```bash export PATH=<path-to-kafka-bin>:$PATH source ~/.bashrc ``` #### 启动Zookeeper服务 Kafka依赖于Zookeeper来协调集群中的节点。启动Zookeeper服务前,请确保已正确安装Java JDK,并设置JAVA_HOME环境变量。 ```bash bin/zookeeper-server-start.sh config/zookeeper.properties ``` #### 启动Kafka Broker 接着启动Kafka broker服务: ```bash bin/kafka-server-start.sh config/server.properties ``` 此时,Kafka应该已经成功运行在一个本地单机模式下。 #### 使用UI for Apache Kafka简化管理 对于更复杂的生产环境或者需要可视化管理的情况,可以考虑使用专门设计用于管理和监控Kafka集群的工具,比如UI for Apache Kafka[^2]。这类工具有助于提升效率以及降低人为错误的风险。 ```python import subprocess def start_kafka(): try: zookeeper_process = subprocess.Popen(['bin/zookeeper-server-start.sh', 'config/zookeeper.properties']) kafka_broker_process = subprocess.Popen(['bin/kafka-server-start.sh', 'config/server.properties']) # Wait indefinitely or implement a timeout mechanism as needed. zookeeper_process.wait() kafka_broker_process.wait() except Exception as e: print(f"Error starting Kafka services: {e}") start_kafka() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值