码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【kafka】 | 01 | kafka和zookeeper的部署及使用方法


    目录

    • 0 环境配置
    • 1 kafka简介
    • 2 kafka部署
      • 2.1 官网地址
      • 2.2 下载
      • 2.3 解压到指定目录
        • 2.3.1 使用kafka自带的zk
        • 2.3.2 使用自己部署的zk
          • 2.3.2.1 下载地址
      • 2.4 启动kafka
    • 3 kafka的使用
      • 3.1 创建主题
      • 3.2 查看主题
      • 3.3 发送消息
      • 3.4启动消费者
      • 3.5设置多个broker的集群
        • 3.5.1为每个broker创建一个配置文件
        • 3.5.2 启动新节点
        • 3.5.3 创建三个副本的新主题
        • 3.5.4 发送消息
        • 3.5.5 消费消息
        • 3.5.6 测试容错及发现的问题

    0 环境配置

    三台服务器(每台都需要部署kafka、zk)

    1 kafka简介

    Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

    2 kafka部署

    2.1 官网地址

    http://kafka.apache.org/quickstart
    
    • 1

    2.2 下载

    wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
    
    • 1

    2.3 解压到指定目录

    tar -xzf kafka_2.11-1.1.0.tgz -C /opt/
    
    • 1

    2.3.1 使用kafka自带的zk

    cd /opt/kafka_2.11-1.1.0/bin
    ./zookeeper-server-start.sh config/zookeeper.properties
    
    • 1
    • 2

    日志信息:

     INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
    
    • 1

    可以看到zookeeper服务的端口为2181

    2.3.2 使用自己部署的zk

    2.3.2.1 下载地址
    https://zookeeper.apache.org/releases.html
    
    
    • 1
    • 2

    在这里插入图片描述

    https://archive.apache.org/dist/zookeeper/
    
    • 1

    在这里插入图片描述

    目录 /usr/local/zookeeper-3.5.9
    启动命令 ./bin/zkServer.sh start
    
    • 1
    • 2

    2.4 启动kafka

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

    其中kafka的端口为9092,在下面这条信息可以看到

    INFO Registered broker 0 at path /brokers/ids/0 with addresses: ArrayBuffer(EndPoint(ambari.master.com,9092,ListenerName(PLAINTEXT),PLAINTEXT)) (kafka.zk.KafkaZkClient)
    
    • 1

    3 kafka的使用

    3.1 创建主题

    ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    Created topic "test".
    
    • 1
    • 2

    3.2 查看主题

    ./kafka-topics.sh --list --zookeeper localhost:2181
    test
    
    • 1
    • 2

    3.3 发送消息

    Kafka带有一个命令行客户端,它将从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。默认情况下,每行将作为单独的消息发送。 启动生产者

    ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
    
    • 1

    输入几条消息发送到服务器

    >This is a message
    >This is another message
    
    • 1
    • 2

    3.4启动消费者

    ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
    
    • 1

    然后就可以在命令行看到生产者发送的消息了

    This is a message
    This is another message
    
    • 1
    • 2

    3.5设置多个broker的集群

    3.5.1为每个broker创建一个配置文件

    cp config/server.properties config/server-1.properties
    cp config/server.properties config/server-2.properties
    
    • 1
    • 2

    3.5.2 启动新节点

    bin/kafka-server-start.sh config/server-1.properties &
    bin/kafka-server-start.sh config/server-2.properties &
    
    • 1
    • 2

    3.5.3 创建三个副本的新主题

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

    运行describe topics查看主题的信息

    ./kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
    
    • 1

    3.5.4 发送消息

    ./kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
    >my test message 1
    >my test message 2
    
    • 1
    • 2
    • 3

    3.5.5 消费消息

    ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic
    my test message 1
    my test message 2
    
    • 1
    • 2
    • 3

    3.5.6 测试容错及发现的问题

    ps aux | grep server.properties
    
    • 1
  • 相关阅读:
    彻底学会Selenium元素定位
    数组 [数据结构][Java]
    访问控制、RBAC和ABAC模型
    史上最简SLAM零基础解读(8.1) - 旋转矩阵、旋转向量、欧拉角推导与相互转换
    阿里巴巴面试题- - -Java体系最新面试题(6)
    雨量水位监测显示屏内涝状况提前掌握
    vue全局设置传值到后台不能为null
    24深圳杯数学建模挑战赛A题6页初步思路+参考论文+保姆级答疑!!!
    若依 | 点击顶部 tag 标签不自动刷新
    Redis替代Session实现用户短信登录(超级消息解释)
  • 原文地址:https://blog.csdn.net/u013916029/article/details/127768308
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号