聊聊 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后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
打赏
0
0
0
0
98
分享
相关文章
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
48 1
Linux云服务器如何搭建LNMP环境
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
1103 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
Linux环境中安装和使用Paramiko
Linux环境中安装和使用Paramiko
307 12
Linux环境
Linux环境
58 5
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
1047 5
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
238 4

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等