Pulsar【部署 01】消息队列PULSAR在Linux环境的主程序安装使用(小内存服务器问题处理)

本文主要是介绍Pulsar【部署 01】消息队列PULSAR在Linux环境的主程序安装使用(小内存服务器问题处理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

官方网站:https://pulsar.apache.org/
对于本地开发和测试,您可以在机器上以单机模式运行Pulsar。单机模式在单个Java虚拟机(JVM)进程中运行所有组件。本地单机版安装手册:

消息队列PULSAR在Linux环境的主程序安装使用

  • 1.Prerequisites
    • 1.1 Pulsar Runtime Java Version Recommendation
    • 1.2 本次安装环境
  • 2.安装
    • 2.1 下载安装包
    • 2.2 解压并验证文件
    • 2.3 启动单机版
    • 2.4 创建Topic
    • 2.5 发送消息
    • 2.6 读取消息
    • 2.7 发送更多的消息
  • 3.总结

在这里插入图片描述

1.Prerequisites

  • Pulsar当前可在64位的macOS和Linux上运行,如果想在Windows上运行可参阅 Run Pulsar In Docker;
  • 此外,还需要安装合适的64位JRE/JDK版本。请参考 Pulsar Runtime Java Version Recommendation。

1.1 Pulsar Runtime Java Version Recommendation

  • pulsar ver > 2.10 and master branch
ComponentsJava Version
Broker17
Functions / IO17
CLI17
Java Client8 or 11 or 17
  • 2.8 <= pulsar ver <= 2.10
ComponentsJava Version
Broker11
Functions / IO11
CLI8 or 11
Java Client8 or 11
  • pulsar ver < 2.8
ComponentsJava Version
All8 or 11

如果服务器使用的是JDK8,可以使用Docker进行部署。

1.2 本次安装环境

# 1.系统
CentOS Linux release 7.9.2009 (Core)# 2.JDK
java version "17.0.7" 2023-04-18 LTS
Java(TM) SE Runtime Environment (build 17.0.7+8-LTS-224)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.7+8-LTS-224, mixed mode, sharing)

2.安装

2.1 下载安装包

# 官网代码
wget https://archive.apache.org/dist/pulsar/pulsar-x.x.x/apache-pulsar-x.x.x-bin.tar.gz

也可以在官网进行下载,本次下载的文件为长期支持版本apache-pulsar-3.0.4-bin.tar.gz
image.png

2.2 解压并验证文件

# 实例
tar -zxvf apache-pulsar-3.0.4-bin.tar.gz

对于这个快速入门的其余部分,所有命令都是从分发文件夹的根目录运行的,所以切换到它:

# 实例
cd apache-pulsar-3.0.4
# 列出根目录下目录
ls -1F

以下描述来自官网:

DirectoryDescription
binThe pulsar entry point script, and many other command-line tools
confConfiguration files, including broker.conf
libJARs used by Pulsar
examplesPulsar Functions examples
instancesArtifacts for Pulsar Functions

2.3 启动单机版

Pulsar的内存默认需要2G对于较小内存的服务器可以修改conf/pulsar_env.sh文件,否则启动时报killed

# Extra options to be passed to the jvm
PULSAR_MEM=${PULSAR_MEM:-"-Xms2g -Xmx2g -XX:MaxDirectMemorySize=4g"}

可进行环境变量配置,配置后可以不在根目录下执行命令:

# 进行环境变量配置
# 1.添加配置文件
vim /etc/profile.d/pulsar.sh# pulsar.sh文件内容:export PULSAR_HOME=/path/to/pulsar /opt/pulsar/apache-pulsar-3.0.4export PATH=$PATH:$PULSAR_HOME/bin# 2.配置文件生效
# chmod +x /etc/profile.d/pulsar.sh
source /etc/profile.d/pulsar.sh# 3.启动
pulsar standalone

启动后以下目录会被创建,官网描述如下:

DirectoryDescription
dataAll data created by BookKeeper and RocksDB
logsAll server-side logs

如果想要以守护线程启动可以执行以下命令,更多信息可参阅 pulsar-daemon。

bin/pulsar-daemon start standalone

在启动Pulsar时会创建命名空间public/default它用于开发目的。所有的Topic都在命名空间中进行管理,更多信息可参阅 Namespaces 和 Topics。

2.4 创建Topic

Pulsar在主题中存储消息。在使用主题之前显式地创建主题是一个很好的实践,即使Pulsar可以在引用主题时自动创建主题。创建一个新的主题,使用命令:

# 实例
pulsar-admin topics create persistent://public/default/test-topic

在 Pulsar 中,主题名称由以下几个部分组成:

  • persistent: 表示这是一个持久化主题。这意味着发布的消息会被持久化存储在磁盘上,即使在 broker 故障或重启后,消息仍然可以被恢复和消费。与之相对的是非持久化主题(non-persistent),其消息仅存储在内存中,不保证消息的持久化。
  • public/default: 这部分指定了主题所在的命名空间(namespace)。在 Pulsar 中,命名空间是对相关主题进行逻辑分组的层级结构,提供了一种管理多个主题的方式,如设置配额、权限、策略等。public 是租户(tenant)名,通常代表一个共享的、无特定访问控制的环境;default 是在该租户下的一个默认命名空间。租户和命名空间共同构成了主题的命名上下文。
  • my-topic: 最后一部分是主题的实际名称,即在给定命名空间内唯一标识该主题的字符串。用户可以根据实际业务需求来命名主题。

2.5 发送消息

可以使用Pulsar命令行工具向主题写入消息。这对于实验很有用,但在实践中,在应用程序代码中使用Producer API,或者使用Pulsar IO连接器将数据从其他系统拉入Pulsar。运行命令生成一条消息:

# 实例
pulsar-client produce test-topic --messages 'Hello Pulsar!'
# 日志
2024-04-08T11:17:55,328+0800 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced

2.6 读取消息

使用下命的命令从主题中读取消息:

# 实例
pulsar-client consume test-topic -s 'test-subscription' -p Earliest -n 0

具体的参数信息这里不再介绍,收到的消息体如下:

# 再发送1条消息【可看到如下信息】
----- got message -----
key:[null], properties:[], content:Hello Pulsar!

2.7 发送更多的消息

# 实例
pulsar-client produce test-topic --messages "$(seq -s, -f 'Message NO.%g' 1 10)"
# 收到信息
----- got message -----
key:[null], properties:[], content:Message NO.1
----- got message -----
key:[null], properties:[], content:Message NO.2
----- got message -----
key:[null], properties:[], content:Message NO.3
----- got message -----
key:[null], properties:[], content:Message NO.4
----- got message -----
key:[null], properties:[], content:Message NO.5
----- got message -----
key:[null], properties:[], content:Message NO.6
----- got message -----
key:[null], properties:[], content:Message NO.7
----- got message -----
key:[null], properties:[], content:Message NO.8
----- got message -----
key:[null], properties:[], content:Message NO.9
----- got message -----
key:[null], properties:[], content:Message NO.10

3.总结

安装过程还是很简单的,使用起来跟Kafka也很类似。

这篇关于Pulsar【部署 01】消息队列PULSAR在Linux环境的主程序安装使用(小内存服务器问题处理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/915026

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip