• Kafka集群部署


    集群部署的基本流程

    下载安装包、解压安装包、修改配置文件、分发安装包、启动集群

    5.2集群部署的基础环境准备

    安装前的准备工作(zk集群已经部署完毕)

    • 关闭防火墙

    chkconfig iptables off  && setenforce 0

    • 创建用户

    groupadd realtime &&useradd realtime&& usermod -a -G realtime realtime

    • 创建工作目录并赋权

    mkdir /export

    mkdir /export/servers

    chmod 755 -R /export

    • 切换到realtime用户下

    su realtime

    5.3 Kafka集群部署

    5.3.1、下载安装包

    http://kafka.apache.org/downloads.html

    linux中使用wget命令下载安装包

            wget http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.11-0.8.2.2.tgz

    5.3.2、解压安装包

    tar -zxvf /export/software/kafka_2.11-0.8.2.2.tgz -C /export/servers/

    cd /export/servers/

    ln -s kafka_2.11-0.8.2.2 kafka

    5.3.3、修改配置文件

    cp   /export/servers/kafka/config/server.properties

    /export/servers/kafka/config/server.properties.bak

    vi  /export/servers/kafka/config/server.properties

    输入以下内容:

    #####################################################################

    #broker的全局唯一编号,不能重复
    broker.id=0
     
    #用来监听链接的端口,producer或consumer将在此端口建立连接
    port=9092
     
    #处理网络请求的线程数量
    num.network.threads=3
     
    #用来处理磁盘IO的线程数量
    num.io.threads=8
     
    #发送套接字的缓冲区大小
    socket.send.buffer.bytes=102400
     
    #接受套接字的缓冲区大小
    socket.receive.buffer.bytes=102400
     
    #请求套接字的缓冲区大小
    socket.request.max.bytes=104857600
     
    #kafka运行日志存放的路径
    log.dirs=/export/servers/logs/kafka
     
    #topic在当前broker上的分片个数
    num.partitions=2
     
    #用来恢复和清理data下数据的线程数量
    num.recovery.threads.per.data.dir=1
     
    #segment文件保留的最长时间,超时将被删除
    log.retention.hours=168
     
    #滚动生成新的segment文件的最大时间
    log.roll.hours=168
     
    #日志文件中每个segment的大小,默认为1G
    log.segment.bytes=1073741824
     
    #周期性检查文件大小的时间
    log.retention.check.interval.ms=300000
     
    #日志清理是否打开
    log.cleaner.enable=true
     
    #broker需要使用zookeeper保存meta数据
    zookeeper.connect=192.168.52.106:2181,192.168.52.107:2181,192.168.52.108:2181
     
    #zookeeper链接超时时间
    zookeeper.connection.timeout.ms=6000
     
    #partion buffer中,消息的条数达到阈值,将触发flush到磁盘
    log.flush.interval.messages=10000
     
    #消息buffer的时间,达到阈值,将触发flush到磁盘
    log.flush.interval.ms=3000
     
    #删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
    delete.topic.enable=true
     
    #此处的host.name为本机IP(重要),如果不改,则客户端会抛出:Producer connection to localhost:9092 unsuccessful 错误!
    host.name=kafka01

    #####################################################################

    5.3.4、分发安装包

    scp -r /export/servers/kafka_2.11-0.8.2.2 kafka02:/export/servers

    然后分别在各机器上创建软连

    cd /export/servers/

    ln -s kafka_2.11-0.8.2.2 kafka

    5.3.5、再次修改配置文件(重要)

    依次修改各服务器上配置文件的的broker.id,分别是0,1,2不得重复。

    5.3.6、启动集群

    依次在各节点上启动kafka

    nohup bin/kafka-server-start.sh  config/server.properties &

     

     

  • 相关阅读:
    基础才是重中之重~用好configSections让配置信息更规范
    知方可补不足~开发人员可以自己定义VS文件模版
    基础才是重中之重~开发人员你应该认识一下Web主线程
    将不确定变为确定~.config文件,配置系统未能初始化
    EF架构~多对多关系的实现与更新原理(多主键关系表不见)
    php weblog 构建
    Dom children 属性及childNodes
    php 创建下载链接和中文文件名乱码解决
    hdu 1003 max sum
    http header前为什么不能有空格
  • 原文地址:https://www.cnblogs.com/heitaok/p/5531725.html
Copyright © 2020-2023  润新知