Pulsar简介及其安装

简介

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

在这里插入图片描述
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)进程中运行所有组件。

安装

jdk版本映射关系

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

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

解压

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

Pulsar 本地安装与运行Pulsar集群

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

安装

jdk版本映射关系

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

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

解压

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

在这里插入图片描述

解压目录介绍

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

  • 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

在这里插入图片描述
在这里插入图片描述
提示:如果我们想使用后台进程去启动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

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

发送消息

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

在这里插入图片描述

消费消息

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

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

停止

可以使用Ctrl+C终止相关进程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值