zoukankan      html  css  js  c++  java
  • 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"

  • 相关阅读:
    C++ 实现B+树
    SSM项目--
    spring+mybatis使用MapperScannerConfigurer简化配置
    SpringMVC复习总结
    MyBatis复习总结
    ajax
    几种常用页面的跳转
    MyShop-不用框架的基础javaweb项目
    jsp
    Guava 工具类之joiner的使用
  • 原文地址:https://www.cnblogs.com/zenan/p/11542501.html
Copyright © 2011-2022 走看看