• Kafka安装与配置


    1、Java环境为前提

    (1)上传jdk-8u261-linux-x64.rpm到服务器并安装:

    rpm -ivh jdk-8u261-linux-x64.rpm

    (2)配置环境变量:

    vim /etc/profile

    1. # 生效
    2. source /etc/profile
    3. # 验证
    4. java -version

     

    2、Zookeeper的安装配置 

    (1)上传zookeeper-3.4.14.tar.gz到服务器

    (2)解压到/opt:

    1. tar -zxf zookeeper-3.4.14.tar.gz -C /opt
    2. cd /opt/zookeeper-3.4.14/conf
    3. # 复制zoo_sample.cfg命名为zoo.cfg
    4. cp zoo_sample.cfg zoo.cfg
    5. # 编辑zoo.cfg文件
    6. vim zoo.cfg

    (3)修改Zookeeper保存数据的目录,dataDir:

    dataDir=/var/lagou/zookeeper/data

    (4)编辑/etc/profile:

    • 设置环境变量ZOO_LOG_DIR,指定Zookeeper保存日志的位置;
    • ZOOKEEPER_PREFIX指向Zookeeper的解压目录;
    • 将Zookeeper的bin目录添加到PATH中:

    (5) 使配置生效

    source /etc/profile

    (6)验证:

     

    3、Kafka的安装与配置

    (1)上传kafka_2.12-1.0.2.tgz到服务器并解压:

    tar -zxf kafka_2.12-1.0.2.tgz -C /opt

    (2)配置环境变量并生效:

    vim /etc/profile

    (3) 配置/opt/kafka_2.12-1.0.2/config中的server.properties文件:

            Kafka连接Zookeeper的地址,此处使用本地启动的Zookeeper实例,连接地址是localhost:2181,后面的myKafka 是Kafka在Zookeeper中的根节点路径:

    配置kafka日志存储目录 

    log.dir=/var/kafka/kafka-logs

    (4)启动Zookeeper:

    zkServer.sh start

    (5)确认Zookeeper的状态:

    (6) 启动Kafka:进入Kafka安装的根目录,执行如下命令:

    启动成功,可以看到控制台输出的最后一行的started状态: 

    (7) 查看Zookeeper的节点:(zkCli.sh 命令进入zookeeper控制台)

     (8)此时Kafka是前台模式启动,要停止,使用Ctrl+C。

    如果要后台启动,使用命令:

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

     查看Kafka的后台进程:

    ps aux | grep kafka

    停止后台运行的Kafka:

     

    4、生产与消费

    4.1、kafka-topics.sh 用于管理主题。

    1. # 列出现有的主题
    2. [root@node1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka
    3. # 创建主题,该主题包含一个分区,该分区为Leader分区,它没有Follower分区副本。
    4. [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_1 --partitions 1 --replication-factor 1
    5. # 查看分区信息
    6. [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list
    7. # 查看指定主题的详细信息
    8. [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_1
    9. # 删除指定主题
    10. [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_1

    4.2、kafka-console-producer.sh用于生产消息:

    1. # 开启生产者
    2. [root@node1 ~]# kafka-console-producer.sh --topic topic_1 --broker-list localhost:9092

    4.3、3、kafka-console-consumer.sh用于消费消息:

    1. # 开启消费者
    2. [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1
    3. # 开启消费者方式二,从头消费,不按照偏移量消费
    4. [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1 --from-beginning
  • 相关阅读:
    概率论的学习和整理--番外8:3门问题 (Monty Hall problem)
    【毕业设计】26-基于单片机心跳体温血压系统仿真设计(原理图+仿真+演示视频+论文)
    API的接口定义与实现过程是怎样的?
    macOS 关闭系统更新以及相关提示
    go-zero微服务实战系列(四、CRUD热热身)
    嵌入式软件设计专栏导读
    Python之读写文件
    kube-scheduler framework
    安卓APP源码和设计报告——仿淘宝水果商城
    SpringBoot整合RabbitMQ实现消息的发送与接收,确认消息,延时消息
  • 原文地址:https://blog.csdn.net/weixin_52851967/article/details/128165704