• 大三寒假学习进度(六)


    由于疫情影响原因,我要出去当社区志愿者。今天学习时间会少一些。

    Kafka是一个消息队列框架,在大数据生态体系中有着极其重要的作用。同时其在java后端领域也有着很高的地位。今天就来学习一下kafka

    快速入门

    前置配置

    kafka需要zookeeper的支持,因此要先配置好zookeeper,详见这篇博客: ZooKeeper搭建和使用笔记,这里就默认已经配好了zookeeper

    这里选用的是kafka的0.11的版本,如图:

    image-20210117212425870

    可以从官网进行下载。

    配置

    kafka的配置还是很简单的。首先我们解压压缩包:

     tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/
    

    在kafka目录下创建data文件夹,用来存储kafka的缓存文件

     
    mkdir data
    

    接着修改配置文件(config/server.properties)

    cd config/
    vim server.properties
    

    接着修改配置文件:

     
    #broker 的全局唯一编号,不能重复
    broker.id=0
    #删除 topic 功能使能
    delete.topic.enable=true
    #处理网络请求的线程数量
    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=/opt/module/kafka_2.11-0.11.0.0/data
    #topic 在当前 broker 上的分区个数
    num.partitions=1
    #用来恢复和清理 data 下数据的线程数量
    num.recovery.threads.per.data.dir=1
    #segment 文件保留的最长时间,超时将被删除
    log.retention.hours=168
    #配置连接 Zookeeper 集群地址
    zookeeper.connect=hadoop03:2181,hadoop04:2181,hadoop05:2181
    

    这里要注意,重点要配置的项是broker.id,要全局唯一。我们这里配置的是集群,每台机子的id不能相同。再就是zookeeper集群的配置,这里已经配置了本地host,所以可以直接填写主机名,这里建立都配置一下。

    然后如果需要的话,可以配置一下环境变量:

    sudo vi /etc/profile
     #KAFKA_HOME
    export KAFKA_HOME=/opt/module/kafka_2.11-0.11.0.0
    export PATH=$PATH:$KAFKA_HOME/bin
    source /etc/profile
    

    将配置好的kafka包进行分发:

    xsync kafka_2.11-0.11.0.0/
    

    关于这里的分发的脚本,可以去看我的这篇博客,里面写了如何写这个分发脚本。

    然后在其他的机子上修改一下broker.id就好了。

    启动

    要启动的话,十分简单,在kafka目录:

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

    如果配置了环境变量,可以直接:

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

    然后就发现以上是前台启动,如果想后台启动需要加一个参数:

    copy
    bin/kafka-server-start.sh -daemon config/server.properties
  • 相关阅读:
    android常用组件
    android button点击效果
    service+activity
    收藏
    c++
    工厂模式
    lr常遇到一些问题
    lr介绍
    ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1"))
    mysqlclient 1.4.0 or newer is required; you have 0.10.0
  • 原文地址:https://www.cnblogs.com/hang-hang/p/14871646.html
Copyright © 2020-2023  润新知