• Pulsar简介及其安装


    简介

        Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体。该系统源于 Yahoo,
    最初在 Yahoo 内部开发和部署,支持 Yahoo 应用服务平台 140 万个主题,日处理超过 1000 亿条消息。Pulsar 于 2016 年由 Yahoo 开源并捐赠给 
    Apache 软件基金会进行孵化,2018 年成为 Apache 软件基金会顶级项目。
    Pulsar 作为下一代云原生分布式消息流平台,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐以及低延时的高可扩展流数据存储特性,
    内置诸多其他系统商业版本才有的特性,是云原生时代解决实时消息流数据传输、存储和计算的最佳解决方案。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    Apache Pulsar 提供了统一的消费模型,支持 Stream(如 Kafka)和 Queue(如 RabbitMQ)两种消费模型, 支持 exclusive、failover 和
    shared 三种消费模式。同时,Pulsar 提供和 Kafka 兼容的 API,以及 Kafka-On-Pulsar(KoP) 组件来兼容 Kafka 的应用程序,KoP 在
    Pulsar Broker 中解析 Kafka 协议,用户不用改动客户端的任何 Kafka 代码就能直接使用 Pulsar。
    目前,Apache Pulsar 已经应用部署在国内外众多大型互联网公司和传统行业公司,案例分布在人工智能、金融、电信运营商、直播与短视频、物联网、
    零售与电子商务、在线教育等多个行业,如美国有线电视网络巨头 Comcast、Yahoo!、腾讯、中国电信、中国移动、BIGO、VIPKID 等。
    目前 Apache Pulsar 项目原生核心贡献者已组成创业公司 StreamNative,进一步为 Apache Pulsar 提供更好的企业级服务支持与生态建设。

    特征

    • Pulsar实例中对多个集群的本地支持,支持跨集群的消息无缝地理复制。
    • 非常低的发布和端到端延迟。
    • 无缝的可伸缩性,超过一百万个主题。
    • 一个简单的客户端API,为Java, Go, Python和c++绑定。
    • 主题的多种订阅类型(独占、共享和故障转移)。
    • 使用Apache BookKeeper提供的持久消息存储来保证消息传递。无服务器轻量级计算框架Pulsar Functions提供了流原生数据处理功能。
    • 无服务器连接器框架Pulsar IO构建在Pulsar Functions之上,可以更容易地将数据移进和移出Apache Pulsar。
    • 当数据老化时,Tiered Storage offloads将数据从热/热存储卸载到冷/长期存储(如S3和GCS)

    Pulsar 本地安装与运行Pulsar集群

    对于本地开发和测试,您可以在机器上以独立模式运行Pulsar。独立模式在单个Java虚拟机(JVM)进程中运行所有组件。
    
    • 1

    安装

    jdk版本映射关系

    在安装pulsar之前,我们需要了解pulsar相关对应的java的版本信息,如下:
    
    • 1

    pulsar运行时Java版本推荐

    • pulsar 版本 > 2.10 and master 分支:
    Pulsar组件Java版本
    Broker17
    Functions / IO17
    CLI17
    Java Client8 or 11 or 17
    • 2.8 <= pulsar 版本 <= 2.10:
    Pulsar组件Java版本
    Broker11
    Functions / IO11
    CLI8 or 11
    Java Client8 or 11
    • pulsar 版本 < 2.8:
    Pulsar组件Java版本
    Broker8 or 11
    Functions / IO8 or 11
    CLI8 or 11
    Java Client8 or 11

    下载

    /usr/local/pulsar$ wget https://archive.apache.org/dist/pulsar/pulsar-2.10.2/apache-pulsar-2.10.2-bin.tar.gz
    
    • 1

    解压

    /usr/local/pulsar$ tar -xvfz apache-pulsar-2.10.2-bin.tar.gz
    
    • 1

    Pulsar 本地安装与运行Pulsar集群

    对于本地开发和测试,您可以在机器上以独立模式运行Pulsar。独立模式在单个Java虚拟机(JVM)进程中运行所有组件。
    
    • 1

    安装

    jdk版本映射关系

    在安装pulsar之前,我们需要了解pulsar相关对应的java的版本信息,如下:
    
    • 1

    pulsar运行时Java版本推荐

    • pulsar 版本 > 2.10 and master 分支:
    Pulsar组件Java版本
    Broker17
    Functions / IO17
    CLI17
    Java Client8 or 11 or 17
    • 2.8 <= pulsar 版本 <= 2.10:
    Pulsar组件Java版本
    Broker11
    Functions / IO11
    CLI8 or 11
    Java Client8 or 11
    • pulsar 版本 < 2.8:
    Pulsar组件Java版本
    Broker8 or 11
    Functions / IO8 or 11
    CLI8 or 11
    Java Client8 or 11

    下载

    /usr/local/pulsar$ wget https://archive.apache.org/dist/pulsar/pulsar-2.10.2/apache-pulsar-2.10.2-bin.tar.gz
    
    • 1

    解压

    /usr/local/pulsar$ tar -xvfz apache-pulsar-2.10.2-bin.tar.gz
    
    • 1

    在这里插入图片描述

    解压目录介绍

    解压出来的目录结构如下:
    在这里插入图片描述

    • bin:pulsar入口点脚本,以及许多其他命令行工具
    • conf:配置文件,包括broker.conf,zookeeper.conf等
    • lib:Pulsar使用的jar包
    • examples:pulsar函数示例
    • instances:Artifacts for Pulsar Functions
    • data:数据目录
    • logs:日志目录

    启动

    /usr/local/pulsar/apache-pulsar-2.10.2$ sudo ./bin/pulsar standalone
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    提示:如果我们想使用后台进程去启动pulsar的话,可以使用bin/pulsar-daemon start standalone命令。当plusar集群启动的完成之后,会默认
    创建一个public/default命名空间,此名称空间用于开发目的,所有Pulsar主题都在名称空间中管理。

    创建topic

    /usr/local/pulsar/apache-pulsar-2.10.2$ sudo ./bin/pulsar-admin topics create persistent://public/default/my-topic
    
    • 1

    如果topic已经存在,会报如下错误:
    在这里插入图片描述

    发送消息

    可以使用pulsar命令行工具将消息写入主题。在实践中,您将在应用程序代码中使用Producer API,或Pulsar IO
    连接器将数据从其他系统拉到Pulsar。
    
    • 1
    • 2
    /usr/local/pulsar/apache-pulsar-2.10.2$ sudo ./bin/pulsar-client produce my-topic --messages 'Hello message'
    
    • 1

    在这里插入图片描述

    消费消息

     在实践中,您将在应用程序代码中使用Consumer API,或者使用Pulsar IO连接器从Pulsar读取数据以推送到其他系统。
    
    • 1
    /usr/local/pulsar/apache-pulsar-2.10.2$ sudo ./bin/pulsar-client consume my-topic -s 'my-subscription' -p Earliest -n 0
    
    • 1

    在这里插入图片描述
    Earliest意味着从最早的未使用的消息进行消费。-n:配置要消耗的消息数量,0表示永远消耗.

    停止

    可以使用Ctrl+C终止相关进程
    
    • 1
  • 相关阅读:
    Linux环境下为应用程序建立快捷方式
    软件设计师案例分析题答案汇总!(4)
    Linux 多文件字符设备驱动
    reactNative导入excel文件
    过滤数据、只要数值型数据,问题与解决
    微信飞机大战小游戏编写分享(上)
    web自动化测试-Selenium语法入门到精通
    flink操作hudi数据表
    rhce练习题
    C++ 中迭代器的使用
  • 原文地址:https://blog.csdn.net/qian1314520hu/article/details/133741967