Kafka安装配置测试

Kafka的整体架构:

kafka

本文中的配置:

kafka

在两台机器Node1和Node2上,分别部署了两个broker,Zookeeper使用的是单独的ZK集群。

在每个机器上下载并解压kafka_2.10-0.8.2.1

http://kafka.apache.org/downloads.html

Kafka配置

Node1:

ip为 172.16.212.17


 
  1. cd $KAFKA_HOME/config
  2. cp server.properties server1.properties
  3. cp server.properties server2.properties
  4.  
  5. vi server1.properties 修改以下参数:
  6. broker.id=1
  7. port=9091
  8. host.name=172.16.212.17
  9. log.dirs=/tmp/kafka-logs/broker1/
  10. zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
  11.  
  12. vi server2.properties 修改以下参数:
  13. broker.id=2
  14. port=9092
  15. host.name=172.16.212.17
  16. log.dirs=/tmp/kafka-logs/broker2/
  17. zookeeper.connect=zk1:2181,zk2:2181,zk3:2181

Node2:

ip为 172.16.212.102


 
  1. cd $KAFKA_HOME/config
  2. cp server.properties server3.properties
  3. cp server.properties server4.properties
  4.  
  5. vi server1.properties 修改以下参数:
  6. broker.id=3port=9091
  7. host.name=172.16.212.102
  8. log.dirs=/tmp/kafka-logs/broker3/
  9. zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
  10.  
  11. vi server2.properties 修改以下参数:
  12. broker.id=4
  13. port=9092
  14. host.name=172.16.212.102
  15. log.dirs=/tmp/kafka-logs/broker4/
  16. zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
  17.  

Kafka启动

Node1:


 
  1. cd $KAFKA_HOME/bin
  2. nohup ./kafka-server-start.sh $KAFKA_HOME/config/server1.properties &
  3. nohup ./kafka-server-start.sh $KAFKA_HOME/config/server2.properties &

Node2:


 
  1. cd $KAFKA_HOME/bin
  2. nohup ./kafka-server-start.sh $KAFKA_HOME/config/server3.properties &
  3. nohup ./kafka-server-start.sh $KAFKA_HOME/config/server4.properties &
  4.  

启动后,可以在Zookeeper中看到4个brokers:

[zk: localhost:2181(CONNECTED) 4] ls /brokers/ids

[3, 2, 1, 4]

创建topic

在任意Node上,


 
  1. cd $KAFKA_HOME/bin
  2. ./kafka-topics.sh --create --zookeeper zk1:2181,zk2:2181,zk3:2181 --replication-factor 2 --partitions 2 --topic lxw1234.com

创建一个名为lxw1234.com的topic.

查看topic


 
  1. cd $KAFKA_HOME/bin
  2. ./kafka-topics.sh --describe --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic lxw1234.com
  3. Topic:lxw1234.com PartitionCount:2 ReplicationFactor:2 Configs:
  4. Topic: lxw1234.com Partition: 0 Leader: 1 Replicas: 1,2 Isr: 1,2
  5. Topic: lxw1234.com Partition: 1 Leader: 2 Replicas: 2,3 Isr: 2,3

模拟producer发送消息


 
  1. cd $KAFKA_HOME/bin
  2. ./kafka-console-producer.sh --broker-list 172.16.212.17:9091,172.16.212.17:9092,172.16.212.102:9091,172.16.212.102:9092 --topic lxw1234.com

启动之后,在控制台上可以先输入一些消息:


 
  1. [root@dev bin]# ./kafka-console-producer.sh --broker-list 172.16.212.17:9091,172.16.212.17:9092,172.16.212.102:9091,172.16.212.102:9092 --topic lxw1234.com
  2. [2015-09-24 14:03:24,616] WARN Property topic is not valid (kafka.utils.VerifiableProperties)
  3. This is Kafka producer.
  4. Hello, lxw1234.com.

模拟consumer接收消息


 
  1. cd $KAFKA_HOME/bin
  2. ./kafka-console-consumer.sh --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic lxw1234.com --from-beginning
  3. This is Kafka producer.
  4. Hello, lxw1234.com.

接下来可以在producer的控制台中输入其他消息,看看consumer的控制台是否能正常打印出来。

删除topic


 
  1. cd $KAFKA_HOME/bin
  2. ./kafka-topics.sh --delete --zookeeper zk1:2181,zk2:2181,zk3:2181 --topic lxw1234.com

执行后,该topic会被kafka标记为删除,还需要在zookeeper中手动删除相关的节点:

[zk: localhost:2181(CONNECTED) 5] rmr /brokers/topics/lxw1234.com

停止Kafka

cd $KAFKA_HOME/bin

./kafka-server-stop.sh

或者找到kafka的进程,直接kill掉即可。

<think>首先,用户的问题是关于在 macOS 上安装配置测试 Apache Kafka。我需要根据提供的引用内容来构建一个结构清晰的回答。引用内容涉及 Kafka 安装的通用步骤,包括环境准备、下载、配置和启动服务。 关键点: - 引用[1]:提到环境准备(系统要求、下载 Kafka)、单机版部署、配置 Zookeeper。 - 引用[2]:提供 macOS 安装 Kafka 的下载链接。 - 引用[3]:介绍 Kafka 安装教程,包括启动服务。 - 引用[4]:讨论 Kafka 安装所需环境,如操作系统、JDK、Scala、Broker 节点、Zookeeper。 用户指定了 macOS,所以我需要聚焦于 macOS 的具体步骤。引用[2]和引用[3]都提到了 macOS,因此我将优先参考这些。 系统级指令: - 所有行内数学表达式使用 $...$ 格式。 - 独立公式使用 $$...$$ 格式。 - LaTeX 语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如 [^1]。 用户可见层: - 回答结构清晰,逐步解决问题。 - 保证回答真实可靠。 结构我的回答: 1. **环境准备**:包括系统要求、JDK 安装等。 2. **下载和安装 Kafka**:使用提供的链接下载。 3. **配置和启动服务**:包括 Zookeeper 和 Kafka broker。 4. **测试 Kafka**:创建主题、生产者、消费者来验证安装。 5. **生成相关问题**:在回答结束后添加相关问题。 确保引用: - 当引用具体内容时,在末尾添加标识,如 [^1]。例如,引用下载链接或配置步骤。 具体步骤: - **步骤 1: 环境准备** - macOS 系统要求:确保有足够内存和磁盘。 - 安装 JDK:Kafka 需要 Java,所以先安装 JDK 8+。 - **步骤 2: 下载 Kafka** - 使用 wget 或浏览器下载 Kafka 包。 - 解压到目录。 - **步骤 3: 启动 Zookeeper** - Kafka 依赖于 Zookeeper。启动 Zookeeper 服务。 - **步骤 4: 启动 Kafka Broker** - 配置 server.properties 并启动 Kafka。 - **步骤 5: 测试 Kafka** - 创建主题。 - 启动生产者和消费者。 - 发送和接收消息。 参考引用: - 引用[1]:下载链接和基本配置。 - 引用[2]:macOS 下载链接。 - 引用[3]:启动服务命令。 - 引用[4]:环境要求。 添加引用标识: - 在相关段落末尾添加,如 "下载 Kafka 可以使用官方链接 [^2]." 生成相关问题: - 在回答结束后,添加 "相关问题" 部分,列出几个相关问题。 最终回答结构: 1. 介绍:简要说明 Kafka 安装。 2. 详细步骤:分步指南。 3. 测试部分:如何验证安装。 4. 相关问题:列出相关问题。</think>### macOS 安装配置测试 Apache Kafka 教程 Apache Kafka 是一个分布式流处理平台,广泛用于构建实时数据管道和流应用。在 macOS 上安装 Kafka 需要准备 Java 环境、下载 Kafka 包、启动 Zookeeper 和 Kafka 服务,并进行基本测试。以下是详细步骤,确保操作前 macOS 系统满足要求:内存至少 2GB、磁盘空间充足(建议 SSD)、已安装 JDK 8+。如果未安装 JDK,可通过 Homebrew 安装:`brew install openjdk@11` 并配置环境变量[^4]。 #### 步骤 1: 下载和解压 Kafka Kafka 依赖于 Zookeeper,但 Kafka 包已包含 Zookeeper,无需单独安装。请从 Apache 官网下载最新稳定版 Kafka(当前推荐版本 3.4.0)。 - **下载命令**: ```bash # 使用 wget 下载(若无 wget,先安装:brew install wget) wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz ``` 或手动下载:访问 [Apache Kafka 下载页面](https://kafka.apache.org/downloads),选择 macOS 兼容版本[^2][^3]。 - **解压并进入目录**: ```bash tar -xzf kafka_2.13-3.4.0.tgz cd kafka_2.13-3.4.0 ``` #### 步骤 2: 配置和启动服务 Kafka 需要先启动 Zookeeper,再启动 Kafka broker。所有配置文件位于 `config` 目录,默认配置即可用于测试。 - **启动 Zookeeper**: 打开一个新终端窗口,执行: ```bash bin/zookeeper-server-start.sh config/zookeeper.properties ``` Zookeeper 会监听端口 2181,用于管理 Kafka 集群状态[^1][^4]。 - **启动 Kafka Broker**: 再打开一个新终端窗口,执行: ```bash bin/kafka-server-start.sh config/server.properties ``` Kafka 默认监听端口 9092。如果需要修改配置(如日志路径),编辑 `config/server.properties` 文件[^3]。 #### 步骤 3: 测试 Kafka 安装 验证 Kafka 是否正常工作,通过创建主题、生产者和消费者进行测试。 - **创建测试主题**: 打开一个新终端窗口,执行: ```bash bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 ``` 这会创建一个名为 `test-topic` 的主题。 - **启动生产者发送消息**: 执行: ```bash bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092 ``` 输入几条消息,如 `Hello Kafka`,按 Enter 发送。 - **启动消费者接收消息**: 打开另一个终端窗口,执行: ```bash bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092 ``` 如果消费者能实时显示生产者发送的消息(如 `Hello Kafka`),则 Kafka 安装成功[^1][^3]。 #### 常见问题处理 - **端口冲突**:如果端口 2181 或 9092 被占用,修改 `config/zookeeper.properties` 或 `config/server.properties` 中的端口号。 - **内存不足**:增加 JVM 内存,编辑 `bin/kafka-server-start.sh`,设置 `export KAFKA_HEAP_OPTS="-Xmx2G -Xms1G"`。 - **停止服务**:按 Ctrl+C 关闭 Kafka 和 Zookeeper 进程,或使用 `bin/kafka-server-stop.sh` 和 `bin/zookeeper-server-stop.sh`。 完成测试后,Kafka 即可用于开发或集成。更多高级配置(如集群部署)请参考 [Apache Kafka 官方文档](https://kafka.apache.org/documentation/)[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值