kafka环境搭建1-单机版

本文介绍如何下载并安装Kafka,包括启动Zookeeper和Kafka服务、创建主题、启动生产者和消费者的过程。此外还详细解释了主题、分区及副本的概念。

下载安装

  • 下载 最新版的kafka软件
    wget http://apache.opencas.org/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz
  • 解压缩
    tar -xzf kafka_2.11-0.9.0.0.tgz

    启动

    首先要进入kafka目录
  • 启动zookeeper server(kafka自带的zookeeper)
    bin/zookeeper-server-start.sh config/zookeeper.properties &

    注意 & 号的使用:命令结尾添加 & 号,可以在执行完命令后退出当前命令环境却不会结束进程

  • 启动kafka server
    bin/kafka-server-start.sh config/server.properties &

    创建主题

    kafka生产和消费数据,必须基于主题topic。主题其实就是对消息的分类。
  • 创建主题:名称为“test”、复制数目为1、partitions为1的topic主题
    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

    replication-factor复制数目,提供failover机制;1代表只在一个broker上有数据记录,一般值都大于1,代表一份数据会自动同步到其他的多个broker,防止某个broker宕机后数据丢失。
    partitions一个topic可以被切分成多个partitions,一个消费者可以消费多个partitions,但一个partitions只能被一个消费者消费,所以增加partitions可以增加消费者的吞吐量。kafka只保证一个partitions内的消息是有序的,多个一个partitions之间的数据是无序的。

  • 查看已经创建的主题
    bin/kafka-topics.sh --list --zookeeper localhost:2181

    启动生产者和消费者

    生产者产生(输入)数据,消费者消费(输出)数据
  • 启动生产者
    bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

    启动后,在命令行下每输入一些字符串按下回车时,就作为一个消息并发送的kafka

  • 启动消费者
    bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

    启动消费者时,建议另开一个ssh窗口,方便一遍通过生产者命令行输入消息,一遍观察消费者消费的数据

当在生产者下输入消息并回车后,在消费者窗口下就能立即看到对应的消息,这就说明环境搭建成功。


### 如何搭建 Kafka 环境 #### 下载和解压 Kafka 访问 Apache Kafka 官方网站 (https://kafka.apache.org/downloads),下载最新版本的 Kafka 二进制文件。将其解压缩至目标目录以便后续操作[^2]。 ```bash tar -xzf kafka_<version>.tgz cd kafka_<version> ``` #### 启动 ZooKeeper 和 Kafka Broker Kafka 需要依赖于 ZooKeeper 来管理集群元数据和其他协调任务。以下是启动命令: ```bash bin/zookeeper-server-start.sh config/zookeeper.properties & bin/kafka-server-start.sh config/server.properties & ``` 此过程会以后台方式运行 ZooKeeper 和 Kafka broker 实例[^3]。 #### 创建 Topic 通过 `kafka-topics.sh` 工具创建一个新的 topic,指定其副本数 (`--replication-factor`) 和分区数量 (`--partitions`)。 ```bash bin/kafka-topics.sh --create \ --zookeeper localhost:2181 \ --replication-factor 1 \ --partitions 1 \ --topic test_topic ``` 验证已成功创建的 topics 列表: ```bash bin/kafka-topics.sh --list --zookeeper localhost:2181 ``` #### 发送消息到 Kafka 使用控制台生产者工具向指定 topic 中发送消息: ```bash bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic ``` 每输入一条消息并按回车键确认后,该条消息会被发送到 Kafka 的对应 topic 上。 #### 消费来自 Kafka 的消息 同样利用控制台消费者工具读取消息流中的内容: ```bash bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --from-beginning ``` 参数 `--from-beginning` 表明从最早记录处开始拉取数据[^3]。 #### 停止服务 当完成测试或者需要停止当前的服务实例时,可执行如下脚本来安全关闭它们: ```bash bin/kafka-server-stop.sh bin/zookeeper-server-stop.sh ``` 以上步骤涵盖了基本的 Kafka 单机环境配置流程[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值