聊聊 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 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
安全 Linux 网络安全
Linux环境中安装和使用Paramiko
Linux环境中安装和使用Paramiko
130 12
|
2月前
|
Java 关系型数据库 MySQL
Linux环境
Linux环境
35 5
|
2月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
286 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
20天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
43 3
|
20天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
32 3
|
2月前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
|
1月前
|
Linux UED iOS开发
|
2月前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
43 3
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
347 3
|
3月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
45 5