1. kafka分布式环境搭建

一. 集群规划
主机名 IP 组件
hadoop1 192.168.205.154 zookeeper, kafka
hadoop2 192.168.205.155 kafka
hadoop3 192.168.205.156 kafka
bash 复制代码
kafka版本:3.6.0
二. 集群部署
  1. 安装JDK,具体安装过程此处不赘述。

  2. 安装zookeeper,本次采用单机模式部署在hadoop1,具体安装过程此处不赘述。

  3. 下载kafka安装包,并上传到对应目录下

    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/
  4. 修改配置文件config/server.properties

    bash 复制代码
    # 每台机器的id必须保持不一样
    broker.id=1
    # IP为当前主机的IP地址
    advertised.listeners=PLAINTEXT://192.168.205.154:9092
    # 日志目录
    log.dirs=/opt/kafka-3.6.0/kafka-logs
    # zookeeper连接地址
    zookeeper.connect=192.168.205.154:2181
  5. 将配置好的安装包分发到两外两台主机上

    bash 复制代码
    [root@hadoop1 ~]# scp  -r /opt/kafka-3.6.0/  root@hadoop2:/opt
    [root@hadoop1 ~]# scp  -r /opt/kafka-3.6.0/  root@hadoop3:/opt
  6. 修改两外两台主机上的配置

    bash 复制代码
    # hadoop2
    broker.id=2
    advertised.listeners=PLAINTEXT://192.168.205.155:9092
    # hadoop3
    broker.id=3
    advertised.listeners=PLAINTEXT://192.168.205.156:9092
  7. 启动zookeeper和kafka

    bash 复制代码
    # 启动zookeeper
    [root@hadoop1 zookeeper-3.9.2]# ./bin/zkServer.sh  start
    # 启动kafka
    [root@hadoop1 kafka-3.6.0]# ./bin/kafka-server-start.sh -daemon config/server.properties
    [root@hadoop2 kafka-3.6.0]# ./bin/kafka-server-start.sh -daemon config/server.properties
    [root@hadoop3 kafka-3.6.0]# ./bin/kafka-server-start.sh -daemon config/server.properties
三. 集群测试
  1. 查看所有topic

    bash 复制代码
    [root@hadoop1 kafka-3.6.0]# ./bin/kafka-topics.sh  --bootstrap-server  192.168.205.154:9092   --list
  2. 创建topic

    bash 复制代码
    # 分区数为1,副本数为3
    [root@hadoop1 kafka-3.6.0]# ./bin/kafka-topics.sh  --bootstrap-server  192.168.205.154:9092   --create --topic first  --partitions 1 --replication-factor 3
    Created topic first.
  3. 查看topic详细信息

    bash 复制代码
    # 查看topic详细信息
    [root@hadoop1 kafka-3.6.0]# ./bin/kafka-topics.sh  --bootstrap-server  192.168.205.154:9092 --describe --topic first
    Topic: first    TopicId: Sj4KtQ8gRk-NCtHL7ONpBg PartitionCount: 1       ReplicationFactor: 3    Configs:
            Topic: first    Partition: 0    Leader: 1       Replicas: 1,2,3 Isr: 1,2,3
  4. 修改topic分区数

    bash 复制代码
    # 将topic的分区数修改为3
    [root@hadoop1 kafka-3.6.0]# ./bin/kafka-topics.sh  --bootstrap-server  192.168.205.154:9092 --alter --topic first --partitions 3
  5. 启动消费者

    bash 复制代码
    [root@hadoop2 kafka-3.6.0]# ./bin/kafka-console-consumer.sh  --bootstrap-server 192.168.205.154:9092 --topic first  --from-beginning
  6. 启动生产者

    bash 复制代码
    [root@hadoop1 kafka-3.6.0]# ./bin/kafka-console-producer.sh --bootstrap-server  192.168.205.154:9092  --topic first
相关推荐
灯澜忆梦3 小时前
【RabbitMQ #10】 | MQ可靠性
分布式·rabbitmq
醉颜凉5 小时前
Kafka 与 RabbitMQ/RocketMQ 选型对比:场景匹配、性能基准与迁移成本
kafka·消息队列·rabbitmq·rocketmq·中间件选型
逐流人7 小时前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
天天喝旺仔10 小时前
gRPC 底层原理:HTTP/2 多路复用、Protobuf 序列化与四种流模式
分布式·http·微服务·rpc
灯澜忆梦13 小时前
【RabbitMQ #5】 | 三大交换机 Fanout ,Direct ,Topic
分布式·rabbitmq·ruby
筑梦之路15 小时前
K8S yaml文件部署kafka集群(Kraft模式)——筑梦之路
容器·kafka·kubernetes
.冰块.15 小时前
Ceph 分布式存储实战(二):存储池管理与 cephx 认证授权
分布式·ceph·rados·纠删码·复本池·cephx认证与用户权限
我们从未走散17 小时前
从内存字典到租约内核:分布式上游账号池如何做到不超卖
分布式
筑梦之路18 小时前
Kafka KRaft 模式 Kubernetes 部署手册(StatefulSet + apache/kafka 官方镜像)——筑梦之路
kafka·kubernetes·apache