写点什么

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

作者:老周聊架构
  • 2022 年 2 月 17 日
  • 本文字数:998 字

    阅读完需:约 3 分钟

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

一、环境准备

jdk 下载地址链接:jdk 1.8,提取码: dv5h

pulsar 下载地址链接:pulsar2.9.1,提取码: 8489

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-amd64export 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 的分布式建集群环境。我们下期再见~

发布于: 刚刚阅读数: 2
用户头像

🏆 InfoQ写作平台-签约作者 🏆 2019.03.07 加入

微信公众号:老周聊架构

评论

发布
暂无评论
聊聊 Pulsar: 在 Linux 环境上搭建 Pulsar