Pulsar简介及其安装

news2024/11/18 17:40:45

Pulsar简介及其安装

  • 简介
  • 特征
  • Pulsar 本地安装与运行Pulsar集群
  • 安装
    • jdk版本映射关系
    • 下载
    • 解压
  • Pulsar 本地安装与运行Pulsar集群
  • 安装
    • jdk版本映射关系
    • 下载
    • 解压
    • 解压目录介绍
  • 启动
  • 创建topic
  • 发送消息
  • 消费消息
  • 停止

简介

    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终止相关进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

host配置

配置host文件的作用主要是用于自定义域名与IP地址之间的映射关系。Host文件是一个操作系统用于将人类可读的域名&#xff08;例如&#xff1a;www.example.com&#xff09;映射到IP地址&#xff08;例如&#xff1a;192.168.1.1&#xff09;的文件。当你在浏览器中输入一个网址…

欠酸洗,异物压入,斑迹和脏污 学习笔记

欠酸洗&#xff1a; 带钢的宽度方向上&#xff0c;可能会出现在整个宽度或某个局部宽度区域的特殊分布。这种分布看起来像波浪或鱼鳞的痕迹。这种情况通常在带钢的开始和结束部分更为常见。 异物压入 通常&#xff0c;这种情况是由于圆点或小条状的粉尘和颗粒被压入所导致的…

一站式工单系统哪家好?一站式工单系统有什么特点?

伴随着高新科技的不断发展和行业竞争的加重&#xff0c;对于一站式工单系统这一类的公司服务系统软件有着越来越多的流程规定和可靠性的要求。一个比较完善的智能化一站式工单系统包含众多的流程&#xff0c;并适用更广泛性的企业信息化&#xff0c;接下来我们将一起看看一站式…

MyLife - Docker安装MySQL

Docker安装MySQL 个人觉得像数据库之类的基础设施在线上环境直接物理机安装使用可能会好些。但是在开发测试环境用docker容器还是比较方便的。这里学习下docker安装mysql使用。 1. MySQL 镜像库地址 MySQL 镜像库地址&#xff1a;https://hub.docker.com/_/mysql/tags 这里是官…

HP打印机一点击打印就出现Windows资源管理器已停止工作问题解决

本次处理的打印机型号是HP Officejet 200 移动便携式打印机&#xff0c;不过其他型号如果出现类似现象&#xff0c;解决方法应该是一致的。 在弹出Windows资源管理器已停止工作的报错提示框后&#xff0c;点击左下角的详细信息&#xff0c;看到的内容显示是KernelBase.dll崩溃…

10月10日星期二今日早报简报微语报早读

10月10日&#xff0c;星期二&#xff0c;早报简报微语早读分享。 1、全国铁路国庆黄金周运输发送旅客1.95亿人次&#xff1b; 2、贵州公安&#xff1a;三名抢劫杀人嫌犯潜逃至缅北电诈窝点&#xff0c;全部落网&#xff1b; 3、四川&#xff1a;游客擅自进入未开发开放游览活动…

Redis(六) 内存策略

文章目录 Redis内存回收一、过期策略Redis是如何知道一个key是否过期的&#xff1f;是不是TTL到期就立即删除呢&#xff1f; 二、淘汰策略 Redis内存回收 一、过期策略 Redis是如何知道一个key是否过期的&#xff1f; 利用两个Dict分别记录key-value对及key-ttl对 是不是TTL到…

Elasticsearch:什么是检索增强生成 - RAG?

在人工智能的动态格局中&#xff0c;检索增强生成&#xff08;Retrieval Augmented Generation - RAG&#xff09;已经成为游戏规则的改变者&#xff0c;彻底改变了我们生成文本和与文本交互的方式。 RAG 使用大型语言模型 (LLMs) 等工具将信息检索的能力与自然语言生成无缝结合…

LLVM(5)ORC实例分析

ORC实例总结 总结 因为API茫茫多&#xff0c;逻辑上的一些概念需要搞清&#xff0c;编码时会容易很多。JIT的运行实体使用LLVMOrcCreateLLJIT可以创建出来&#xff0c;逻辑上的JIT实例。JIT实例需要加入运行库&#xff08;依赖库&#xff09;和用户定义的context&#xff08;…

HDMI协议介绍(五)--Audio

基础知识 I2S(inter-IC sound bus)飞利浦公司制定的标准&#xff0c;既规定了硬件接口规范&#xff0c;也规定了数字音频数据格式。 硬件接口规范 I2S接口有3个主要信号&#xff1a; 时钟信号 Serial Clock 串行时钟SCK&#xff0c;也叫位时钟&#xff08;BCLK&#xff09;&…

autohotkey 记录

https://www.autohotkey.com/ 记录 https://www.autohotkey.com/docs/v2/ https://www.autohotkey.com/docs/v2/lib/Send.htm https://www.autohotkey.com/boards/ #z::Run "https://www.autohotkey.com" ; WinZ #n::Run "mspaint" ; Winn^!n:: ; C…

【香橙派-OpenCV-Torch-dlib】TF损坏变成RAW格式解决方案及python环境配置

前言 本文将介绍在香橙派&#xff08;Orange Pi&#xff09;开发板上进行软件配置和环境搭建的详细步骤&#xff0c;以便运行Python应用程序。这涵盖了以下主要内容&#xff1a; 获取所需软件&#xff1a;提供了香橙派操作系统和balenaEtcher工具的下载链接&#xff0c;以确保…

Lumos-az/MiniSQL阅读笔记

文章目录 处理SQL创建创建表RecordManager部分CatalogManager部分 创建索引IndexManager::createIndex部分API::createNewIndex部分CatalogManager::createIndex部分 插入删除删除表删除记录? 查询B树gif演示B树增删&#xff1a;插入&#xff1a;删除&#xff1a; 项目源码&am…

Python字典全解析:从基础到高级应用

更多资料获取 &#x1f4da; 个人网站&#xff1a;涛哥聊Python 字典是一种强大而多才多艺的数据类型&#xff0c;它以键-值对的形式储存信息&#xff0c;让我们能够以惊人的效率处理和管理数据。 字典能够将键和值关联在一起&#xff0c;使得数据的存储和检索变得非常高效。…

信息系统项目管理师第四版学习笔记——项目整合管理

管理基础 项目整合管理由项目经理负责&#xff0c;项目经理负责整合所有其他知识领域的成果&#xff0c;并掌握项目总体情况。项目整合管理的责任不能被授权或转移&#xff0c;项目经理必须对整个项目承担最终责任。 项目管理过程中&#xff0c;会使用并产生两大类文件&#…

git常用命令和开发常用场景

git命令 git init 创建一个空的git仓库或者重新初始化已有仓库 git clone [url] 将存储库克隆到新目录 git add 添加内容到索引 git status 显示工作树状态 git commit -m "" 记录仓库的修改 git reset 重置当前HEAD到指定的状态 git reset –-soft&#xff1a;…

vmware虚拟机启动、使用ubuntu问题

安装Ubuntu时&#xff0c;无法连接虚拟设备sata0:1&#xff0c;因为主机上没有相应的设备 安装Ubuntu时&#xff0c;无法连接虚拟设备sata0:1&#xff0c;因为主机上没有相应的设备_无法连接虚拟设备 sata0:1,因为主机上没有相应的设备-CSDN博客 无法连接虚拟设备 sata0:1,因…

AI视频监控平台EasyCVR接入海康SDK出现异常,该如何解决?

安防监控系统/视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。 有用户反馈&#xff0c;在使用视频监控系统EasyCVR接入…

Android NFC开发详解:NFC读卡实例解析及总结

文章目录 前言一、什么是NFC&#xff1f;二、基础知识1.什么是NDEF&#xff1f;2.NFC技术的操作模式3.标签的技术类型4.实现方式的分类5.流程三、获取标签内容1.检查环境2.获取NFC标签2.1 Manifest中注册的方式获取Tag2.1 前台Activity捕获的方式获取Tag四、解析标签数据1. M1…

笔记37:全卷积网络FCN结构详解

本地笔记&#xff1a;D:\work_file\DeepLearning_Learning\03_个人笔记\FCN学习 a a a a a a a a a a a a a a a a a a a a a a a