Kafka安装配置

Kafka官方文档
Kafka下载地址

安装

本文基于kafka-2.12-2.3.0,准备工作

  1. download kafka $wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz
  2. jdk1.8.0环境jdk1.8.0安装
$tar -xzf kafka_2.12-2.3.0.tgz
$cd kafka_2.12-2.3.0

Start Server

启动zookeeper

$bin/zookeeper-server-start.sh config/zookeeper.properties

启动kafka

$bin/kafka-server-start.sh config/server.properties

这里我遇到了问题,启动kafka报错,发现是kafka默认分配jvm -Xmx1G -Xms1G,自己的服务器所剩内存不足导致。
解决:修改./bin/kafka-server-start.sh KAFKA_HEAP_OPTS修改为-Xmx256M -Xms256M后成功启动。

Create Topic

$bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

查看所有主题

$bin/kafka-topics.sh --list --bootstrap-server localhost:9092

Send Message

启动Producer

$bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>this is message
>this is another message

Receive message

启动Consumer

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

发现打印了producer发送的消息。
至此单个kafka broker 搭建完成,我们也大致了解了启动shell脚本以及配置文件,接下来我们用docker完成kafka single的部署。

docker-compose

github地址
docker-compose.yml

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.31.45
      KAFKA_CREATE_TOPICS: "test:1:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

介绍一下上述几个参数的含义:
KAFKA_ADVERTISED_HOST_NAME # 用于集群发现
KAFKA_CREATE_TOPICS #主题,test:1:1 主题名:分区数:副本数。多个主题格式如下KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1"

原文地址:https://www.cnblogs.com/zenan/p/11542501.html