美文网首页
Kafka安装与配置

Kafka安装与配置

作者: 五月笙 | 来源:发表于2020-11-13 16:18 被阅读0次

    当前操作系统信息如下:

    [$] uname -a
    Linux remer 4.15.0-118-generic #119-Ubuntu SMP Tue Sep 8 12:30:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    [$] cat /etc/issue
    Ubuntu 18.04.4 LTS \n \l
    

    Kafka的运行环境需要设计到ZooKeeper,Kafka和ZooKeeper都是运行在JVM上的服务,所以首先需要安装JDK。

    安装JDK

    借助工具SDKMAN来安装JDK。SDKMAN是软件开发条件多版本管理工具,在基于Unix的系统上普遍使用,安装、使用很简单:

    [$] curl -s "https://get.sdkman.io" | bash
    [$] source "$HOME/.sdkman/bin/sdkman-init.sh"
    [$] sdk version
    ==== BROADCAST =================================================================
    * 2020-11-10: kscript 3.0.2 available on SDKMAN!
    * 2020-11-10: kscript 3.0.1 available on SDKMAN!
    * 2020-11-10: btrace 2.0.3 available on SDKMAN! https://github.com/btraceio/btrace/releases/download/v2.0.3/btrace-2.0.3-sdkman-bin.zip
    ================================================================================
    
    SDKMAN 5.9.1+575
    

    使用SDKMAN安装JDK:

    # 查看jdk版本
    [$] sdk ls java
    # 选择所要安装的版本
    [$] sdk install java 8.0.272-zulu
    Installing: java 8.0.272-zulu
    Done installing!
    
    Setting java 8.0.272-zulu as default.
    

    查看安装结果:

    [$] java -version
    openjdk version "1.8.0_272"
    OpenJDK Runtime Environment (build 1.8.0_272-8u272-b10-0ubuntu1~18.04-b10)
    OpenJDK 64-Bit Server VM (build 25.272-b10, mixed mode)
    

    安装ZooKeeper

    ZooKeeper是一个开源的分布式协调服务,是Google Chubby的一个开源实现。分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、配置维护等功能。
    ZooKeeper是安装Kafka集群的必要组件,Kafka通过ZooKeeper来实施对元数据信息的管理,包括集群、broker、主题、分区等内容。
    安装ZooKeeper第一步,下载:

    [$] cd /opt/ && sudo su
    [#] curl https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz > apache-zookeeper-3.6.2-bin.tar.gz
    [#] tar zxvf apache-zookeeper-3.6.2-bin.tar.gz
    

    第二步,添加环境变量:

    [#] cd apache-zookeeper-3.6.2-bin/ && pwd
    /opt/apache-zookeeper-3.6.2-bin
    [#] vim /etc/profile
    export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.2-bin
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    [#] source /etc/profile
    

    第三步,修复配置文件:

    [#] cd /opt/apache-zookeeper-3.6.2-bin/conf/
    [#] cp zoo_sample.cfg zoo.cfg && vim zoo.cfg
    

    配置内容如下:

    # ZooKeeper服务器心跳时间,单位为
    tickTime=2000
    # 投票选举新leader的初始时间
    initLimit=10
    # leader与follower心跳检测最大容忍时间,响应超过syncLimit*tickTime,leader认为
    # follower“死掉”,从服务器列表中删除follower
    syncLimit=5
    # 数据目录
    dataDir=/tmp/zookeeper
    # 日志目录
    dataLogDir=/tmp/zookeeper/log
    # 对外端口
    clientPort=2181
    

    创建数据和日志目录:

    [#] mkdir -p /tmp/zookeeper/data
    [#] mkdir -p /tmp/zookeeper/log
    

    第四步,在${dataDir}目录(即:/tmp/zookeeper/data)下创建myid文件,输入0。myid文件存放的是服务器的编号:

    [#] vim /tmp/zookeeper/data/myid
    # 输入0,并保存
    0
    

    第五步,启动ZooKeeper服务:

    [#] zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /opt/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    

    查看ZooKeeper的服务状态:

    [#] zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /opt/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
    Client port found: 2181. Client address: localhost. Client SSL: false.
    Mode: standalone
    

    安装kafka

    第一步,下载:

    [$] cd /opt/ && sudo su
    [#] curl https://mirrors.bfsu.edu.cn/apache/kafka/2.6.1/kafka_2.13-2.6.1.tgz > kafka_2.1302.6.1.tgz
    [#] tar zxvf kafka_2.1302.6.1.tgz
    [#] cd kafka_2.13-2.6.1 && pwd
    

    第二步,添加环境变量:

    [#] vim /etc/profile
    export KAFKA_HOME=/opt/kafka_2.13-2.6.1
    export PATH=$PATH:$KAFKA_HOME/bin
    [#] source /etc/profile
    

    第三步,配置修改,主要关注几个参数即可:

    [#] cd /opt/kafka_2.13-2.6.1/config && vim server.properties
    # broker的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同
    broker.id=0
    # broker对外提供的服务入口地址
    listeners=PLAINTEXT://localhost:9092
    # 存放消息日志文件的地址
    log.dirs=/tmp/kafka-logs
    # Kafka所需的ZooKeeper集群地址
    zookeeper.connect=localhost:2181/kafka
    

    第四步,启动服务:

    [#] cd /opt/kafka_2.13-2.6.1/
    [#] bin/kafka-server-start.sh -daemon config/server.properties
    

    查看Kafka服务是否启动:

    [#] jps
    20528 Kafka # Kafka服务端进程
    20624 Jps
    10942 QuorumPeerMain
    

    jps命令只是用来确认Kafka服务的进程已经正常启动。它是否能够正确地对外提供服务,还需要通过发送和消费消息来进行验证。

    参考

    SDKMAN
    ZooKeeper
    Kafka
    深入了解Kafka

    相关文章

      网友评论

          本文标题:Kafka安装与配置

          本文链接:https://www.haomeiwen.com/subject/zzodbktx.html