CentOS搭建kafka

CentOS搭建kafka

安装 kafka

准备工作
mkdir -p /tmp/kafka/broker/{data,logs}
下载安装
下载解压
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz
tar -zxvf kafka_2.12-2.8.1.tgz
修改配置文件

进入安装目录进行配置文件修改

vi config/server.properties
broker.id=1
log.dir=/tmp/kafka/broker/logs
启动服务
启动ZK
sh bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
启动Kafka 服务

使用 kafka-server-start.sh 启动 kafka 服务:

sh bin/kafka-server-start.sh -daemon  config/server.properties
创建Topic

使用 kafka-topics.sh 创建单分区单副本的 topic test

sh bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test
查看 topic 列表
sh bin/kafka-topics.sh --list --zookeeper zookeeper:2181
发送消息

使用 kafka-console-producer.sh 发送消息:

sh bin/kafka-console-producer.sh --broker-list zookeeper:9092 --topic test
消费消息

使用 kafka-console-consumer.sh 接收消息并在终端打印:

sh bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

打开个新的命令窗口执行上面命令即可查看信息:

查看描述 topics 信息
sh bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

第一行给出了所有分区的摘要,每个附加行给出了关于一个分区的信息。 由于我们只有一个分区,所以只有一行。

“Leader”: 是负责给定分区的所有读取和写入的节点。 每个节点将成为分区随机选择部分的领导者。

“Replicas”: 是复制此分区日志的节点列表,无论它们是否是领导者,或者即使他们当前处于活动状态。

“Isr”: 是一组“同步”副本。这是复制品列表的子集,当前活着并被引导到领导者。

创建数据目录
 mkdir -p /tmp/kafka/broker{1..3}/{data,logs}
创建配置文件
vi docker-compose.yaml
version: '2'
services:
  zookeeper:
    container_name: zookeeper
    image: wurstmeister/zookeeper
    restart: unless-stopped
    hostname: zoo1
    ports:
      - "2181:2181"
    networks:
      - kafka
  kafka1:
    container_name: kafka1
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.245.253                   ## 修改:宿主机IP
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.245.253:9092  ## 修改:宿主机IP
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_BROKER_ID: 1
      KAFKA_LOG_DIRS: /kafka/data
    volumes:
      - /tmp/kafka/broker1/logs:/opt/kafka/logs
      - /tmp/kafka/broker1/data:/kafka/data
    depends_on:
      - zookeeper
    networks:
      - kafka
  kafka2:
    container_name: kafka2
    image: wurstmeister/kafka
    ports:
      - "9093:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.245.253                   ## 修改:宿主机IP
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.245.253:9093  ## 修改:宿主机IP
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_ADVERTISED_PORT: 9093
      KAFKA_BROKER_ID: 2
      KAFKA_LOG_DIRS: /kafka/data
    volumes:
      - /tmp/kafka/broker2/logs:/opt/kafka/logs
      - /tmp/kafka/broker2/data:/kafka/data
    depends_on:
      - zookeeper
    networks:
      - kafka
  kafka3:
    container_name: kafka3
    image: wurstmeister/kafka
    ports:
      - "9094:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.245.253                   ## 修改:宿主机IP
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.245.253:9094  ## 修改:宿主机IP
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_ADVERTISED_PORT: 9094
      KAFKA_BROKER_ID: 3
      KAFKA_LOG_DIRS: /kafka/data
    volumes:
      - /tmp/kafka/broker3/logs:/opt/kafka/logs
      - /tmp/kafka/broker3/data:/kafka/data
    depends_on:
      - zookeeper
    networks:
      - kafka
  kafka-manager:
    image: sheepkiller/kafka-manager              ## 镜像:开源的web管理kafka集群的界面
    environment:
        ZK_HOSTS: 192.168.245.253                 ## 修改:宿主机IP
    ports:
      - "9000:9000"                               ## 暴露端口
    networks:
      - kafka
networks:
  kafka:
    driver: bridge

2.168.245.253 ## 修改:宿主机IP
ports:
- “9000:9000” ## 暴露端口
networks:
- kafka
networks:
kafka:
driver: bridge


  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值