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
相关推荐
黄名富24 分钟前
Spring Cloud — 深入了解Eureka、Ribbon及Feign
分布式·spring·spring cloud·微服务·eureka·ribbon
小丑西瓜6661 小时前
分布式简单理解
linux·redis·分布式·架构·架构演变
优人ovo1 小时前
详解分布式ID实践
分布式
Java资深爱好者1 小时前
在Spark中,如何使用DataFrame进行高效的数据处理
大数据·分布式·spark
布谷歌2 小时前
Oops! 更改field的数据类型,影响到rabbitmq消费了...(有关于Java序列化)
java·开发语言·分布式·rabbitmq·java-rabbitmq
一个假的前端男2 小时前
RabbitMQ 消息队列 优化发送邮件
分布式·rabbitmq·ruby
被程序耽误的胡先生3 小时前
java中 kafka简单应用
java·开发语言·kafka
A尘埃3 小时前
关闭超时订单和七天自动确认收货+RabbitMQ规范
分布式·rabbitmq
2501_903238653 小时前
深入理解 Kafka 主题分区机制
分布式·kafka·个人开发
m0_748241233 小时前
RabbitMq 基础
分布式·rabbitmq·ruby