聊聊 Pulsar: 在 Linux 环境上搭建 Pulsar

简介: 聊聊 Pulsar: 在 Linux 环境上搭建 Pulsar

一、环境准备

1.1 Java 环境为前提

1.1.1 上传 jdk-8u261-linux-x64.rpm 到服务器并安装

# 安装命令
rpm -ivh jdk-8u261-linux-x64.rpm



1.1.2 配置环境变量

# 编辑配置文件,jdk的bin目录到/etc/profile文件,对所有用户的shell有效
vim /etc/profile
# 生效
source /etc/profile



export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export PATH=$PATH:$JAVA_HOME/bin



# 验证
java -version



至此,jdk 安装成功。

1.2 Pulsar 的安装与配置

1.2.1 上传 apache-pulsar-2.9.1-bin.tar.gz 到服务器并解压

tar -zxf apache-pulsar-2.9.1-bin.tar.gz -C /opt

1.2.2 启动单机模式 Pulsar

./pulsar standalone



直接回车走起,然后出现以下报错:

很明显,没有足够的内存。

free -m 命令查了下,可用内存还有 957 M,怎么就说内存不够了呢?

查了下文档,原来默认需要 2G 的 JVM 内存。

那我就调整下 pulsar 的默认配置,把默认的 2g 调整成 512m。

vim conf/pulsar_env.sh
PULSAR_MEM=${PULSAR_MEM:-"-Xms512m -Xmx512m -XX:MaxDirectMemorySize=512m"}
source conf/pulsar_env.sh

然后继续启动 pulsar ./pulsar standalone

说我 zookeeper 有启动 2181 端口了。

是的,我的云主机是启动了一个 zookeeper。那我把我自己的启动的 zookeeper 停掉。

进到你安装 zookeeper 的目录中,执行以下停止的命令即可。

./zkServer.sh stop



再次启动 pulsar ./pulsar standalone

如果能看到以上日志,说明 pulsar 启动成功了!

启动后,会一直卡主前台进程,如果需要关闭 pulsar,直接 ctrl+c 即可。

二、生产与消费

2.1 模拟开启消费者监听数据

./pulsar-client consume my-topic -s "first-subscription"



2.2 模拟开启生产者生产数据

./pulsar-client produce my-topic --messages "hello-pulsar"



2.3 消费者成功接收消息

三、小结

Pulsar 的给我的感觉就是开箱即用,Pulsar 还帮我们内置了 zookeeper,我们至此都没有安装 zookeeper,期间我还停掉了自己的 zookeeper,这也正说明了 Pulsar 内置了 zookeeper,与我自己的 zookeeper 端口发生了冲突。

通过 jps 命令,也可以发现 Pulsar 帮我们启动了 zookeeper,有 QuorumPeerMain 进程。

Pulsar 与 Kafka 的单机模式搭建,一对比,毫无疑问,Pulsar 好简洁啊,Kafka 与 Zookeeper 一堆繁琐参数的配置。

好了,下一篇我们来搭建 Pulsar 的分布式建集群环境。我们下期再见~



欢迎大家关注我的公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。

相关文章
|
8天前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
47 8
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
196 16
|
2月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
114 10
|
27天前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。
|
28天前
|
安全 Linux 网络安全
Linux系统初步设置本地Git环境和生成SSH密钥的步骤。
现在您的Linux系统已经配置好了Git环境,并创建并添加了SSH密钥,可以安全地与远端仓库进行交互,无论是克隆、推送还是拉取操作。此过程确保了数据传输的安全并使版本控制流程更为顺畅。使用Git时应考虑定期更新并管理您的凭据,以确保安全性。
213 0
|
29天前
|
XML 缓存 Linux
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
115 0
|
2月前
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
139 0
|
3月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
707 23
|
3月前
|
安全 Linux 定位技术
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
78 4

热门文章

最新文章