kafka单机伪分布式搭建

本文详细介绍了如何在单机环境下搭建Zookeeper和Kafka的伪分布式集群,包括环境准备、下载安装、配置文件修改、启动服务以及测试验证等步骤,旨在帮助读者理解Zookeeper和Kafka的基本工作原理和部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                       kafka单机伪分布式搭建

Zookeeper的功能以及工作原理

ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Kafka简介

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。

一、环境基础准备jdk

java -version   #查看jadk

yum -y list  java*   #查看yum源中的java

yum -y install java-1.8.0*  #安装1.8jdk

 

二、定义目录结构以及伪分布式节点:

mkdir -p /opt/zookeeper    #zookeeper目录里面到时存放各个zookeeper节点

mkdir -p /opt/zookeeper/server1     #定义zookeeper节点1

mkdir -p /opt/zookeeper/server2     #定义zookeeper节点2

mkdir -p /opt/zookeeper/server3     #定义zookeeper节点3

mkdir -p /opt/kafka     #kafka路径

 

三、下载并安装zookeeper和kafka的最新版压缩包:

 1、下载解压zookeeper

 cd /opt/zookeeper

 wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz

 tar zxvf zookeeper-3.4.12/zookeeper-3.4.12.tar.gz -C /opt/zookeeper/server1

 tar zxvf zookeeper-3.4.12/zookeeper-3.4.12.tar.gz -C /opt/zookeeper/server2

 tar zxvf zookeeper-3.4.12/zookeeper-3.4.12.tar.gz -C /opt/zookeeper/server3

 2、下载解压kafka

 cd /opt/kafka

 wget https://mirrors.aliyun.com/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz

 tar zxvf kafka_2.12-1.1.0.tgz -C /opt/kafka

##没有wget 需要安装

Yum -y install wget

四、创建zookerper各个节点的data和logs目录以及zookeeper节点标识文件的myid:

 cd  /opt/zookeeper/server1/zookeeper-3.4.12  #切到server1创建

 mkdir -p data  #Zookeeper保存数据的目录

 mkdir -p logs  #Zookeeper将写数据的日志文件保存在这个目录里。

 cd data

 vim

### Kafka 伪分布式单机配置教程 #### 配置环境准备 为了在本地搭建 Kafka伪分布式集群,首先需要下载并解压 Kafka 安装包至指定目录。可以通过命令行操作实现文件的解压缩与移动[^4]。 ```bash [root@hadoop1 opt]# tar xf kafka_2.12-3.6.0.tgz [root@hadoop1 opt]# mv kafka_2.12-3.6.0 kafka-3.6.0/ ``` #### 修改配置文件 Kafka 支持多实例运行在同一台机器上的方式模拟分布式的特性。为此,需复制默认的 `server.properties` 文件,并分别命名为不同的 broker 实例配置文件(如 `server-0.properties`, `server-1.properties`)。每份配置文件都需要调整以下几个参数: - **broker.id**: 设置唯一的 ID 来标识每个 Broker 节点。 - **port**: 更改监听端口号以避免冲突,默认为 9092。 - **log.dirs**: 指定日志存储路径,确保各实例的日志不会相互覆盖。 例如,在 `server-0.properties` 中设置如下内容: ```properties broker.id=0 port=9092 log.dirs=/tmp/kafka-logs-0 ``` 而在 `server-1.properties` 则应修改相应的值: ```properties broker.id=1 port=9093 log.dirs=/tmp/kafka-logs-1 ``` 此过程可以扩展到更多虚拟节点上,只需继续增加类似的配置文件即可[^5]。 #### 启动 Zookeeper多个 Kafka 实例 由于 Kafka 使用 Zookeeper 进行协调管理,因此先启动 Zookeeper 是必要的前提条件之一。之后按照顺序依次开启各个已配置好的 Kafka Broker 实例服务进程。 具体命令如下所示: ```bash $ bin/zookeeper-server-start.sh config/zookeeper.properties & $ bin/kafka-server-start.sh config/server-0.properties & $ bin/kafka-server-start.sh config/server-1.properties & ``` 当所有组件都正常工作后,则完成了基于单一物理主机之上构建起来的一个简易版伪分布式架构形式下的 Apache Kafka 平台部署任务[^1]^。 #### 创建 Topic 测试通信功能 最后一步就是验证整个系统的可用性状况了。这可通过创建一个新的主题(topic),接着利用生产者发送一些测试数据给该 topic ,再由消费者接收查看消息是否能够正确无误地流转过来完成闭环检验流程^。 ```bash # 创建Topic ./bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic test --partitions 3 --replication-factor 2 # 描述Topic详情 ./bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test # 生产者向Test发送消息 ./bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093 --topic test # 消费者订阅Test获取消息 ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9093 --from-beginning --topic test ``` 以上即是在本地上快速建立起一套简单的伪分布式 Kafka 环境的方法概述^。 ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值