• 安装kafka 集群 步骤


    1.下载

    http://mirror.bit.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz

    2.解压 

    tar -zxvf kafka_2.11-2.1.0.tgz

    3.创建两份配置文件

    cd conf

    cp server.properties  server1.properties

    cp server.properties  server2.properties

    4.创建两个log目录

    cd logs

    mkdir log1 log2

    5.编辑配置文件

    编辑 server1.properties,server2.properties

    主要修改点

    #broker id 在集群中必须唯一

    broker.id=1

    #监听端口

    #listeners=PLAINTEXT://:9001

    host.name=192.168.1.1

    port=9001

    #topic 分区数量

    num.partitions=5

    # 数据存储目录

    log.dirs=/home/kafka/kafka_2.12-2.1.0/logs/log1

    # zookpeer 配置

    zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

    两个文件不同的地方

    broker.id,log.dirs ,host.name(kafka所在的IP),port:kafka的端口

    6.启动kafka集群

    ./bin/kafka-server-start.sh -daemon config/server1.properties 

    ./bin/kafka-server-start.sh -daemon config/server2.properties 

    7.验证集群

    ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic my-topic

    创建一个my-topic 的 topic 

    副本为1

    分区数为5

    实例1

    实例2

     可以看到两个实例,一个实例上有3个分区,一个为两个分区。

     显示kafka 主题数量

    ./kafka-topics.sh --zookeeper localhost:2181 --describe

    kafka 内存调整

    如果使用的CMS GC算法,建议JVM Heap不要太大,在4GB以内就可以。JVM太大,导致Major GC或者Full GC产生的“stop the world”时间过长,导致broker和zk之间的session超时,比如重新选举controller节点和提升follow replica为leader replica。

    JVM也不能过小,否则会导致频繁地触发gc操作,也影响Kafka的吞吐量。另外,需要避免CMS GC过程中的发生promotion failure和concurrent failure问题。CMSInitiatingOccupancyFraction=70可以预防concurrent failure问题,提前出发Major GC。

    Kafka JVM参数可以直接修改启动脚本bin/kafka-server-start.sh 中的变量值。下面是一些基本参数,也可以根据实际的gc状况和调试GC需要增加一些相关的参数。

    export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G -Xmn2G -XX:PermSize=64m -XX:MaxPermSize=128m  -XX:SurvivorRatio=6  -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly"

  • 相关阅读:
    Linux入门实践笔记(二)——Jar包的运行与关闭
    SpringCloud从入门到进阶(二)——注册中心Eureka的伪分布式部署
    Linux入门实践笔记(一)——安装JDK与运行jar包
    探究ConcurrentHashMap中键值对在Segment[]的下标如何确定
    探究HashMap线性不安全(三)——死循环的产生
    jmeter集成测试报告
    jmeter+ant+jenkins持续集成设置
    jmeter-环境配置与安装
    MySql 基本语法_数据表操作
    MySql 基本语法_数据库操作
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/10184185.html
Copyright © 2020-2023  润新知