pulsar SDK在Linux的使用

文章目录

  • [Go SDK](#Go SDK)
  • [nodejs SDK](#nodejs SDK)
  • [python sdk](#python sdk)
  • [java sdk](#java sdk)
  • [C++ SDK](#C++ SDK)

Go SDK

复制代码
#检查是否安装go环境
go version

#是否更改go代理
export GOSUMDB=off
export GOPROXY=https://mirrors.aliyun.com/goproxy

#下载demo/自己编写

#下载依赖
go mod tidy

#运行(记得更改pulsar的配置)
go run simple/SimpleConsumer.go
go run simple/SimpleProducer.go

nodejs SDK

环境安装

脚本会自动:

  • 下载 NVM 到 ~/.nvm 目录(用户级安装,不影响系统全局);
  • ~/.bashrc/~/.zshrc 中添加 NVM 环境变量。
复制代码
#查看是否安装环境(nvm 或者 npm)
nvm --version
npm --version

#(如果没有,安装)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
#刷新环境变量
source ~/.bashrc
#再次查看
nvm --version
#如果失败,手动编辑环境变量
vi ~/.bashrc

NVM 环境变量(vi ~/.bashrc + source ~/.bashrc)

复制代码
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # 加载 NVM 核心脚本
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # 加载命令补全(可选)

nvm国内镜像(vi ~/.bashrc + source ~/.bashrc)

复制代码
# NVM Node.js 镜像(淘宝源,加速下载)
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
# NVM npm 镜像(可选,加速 npm 包下载)
export NVM_NPM_MIRROR=https://npmmirror.com/mirrors/npm/

npm安装;nvm常用命令

  1. nvm use <版本号> :切换到已安装的 Node 版本

  2. nvm ls:查看已安装的所有 Node 版本(带当前版本标记)

  3. nvm ls-remote:查看 Node.js 官方所有可安装的版本(远程列表)

  4. nvm ls-remote --lts:只查看所有可安装的 LTS 版本

  5. nvm uninstall <版本号>:卸载指定 Node 版本

  6. nvm current:查看当前正在使用的 Node 版本

    nvm install 20.19.2
    nvm use 20.19.2

demo测试

复制代码
# 项目目录执行(一路回车默认配置即可)
npm init
# 下载并安装到 node_modules 目录
npm install pulsar-client

如果报错可能是系统 libstdc++.so.6 库版本过低pulsar-client 依赖 GLIBCXX_3.4.26 版本

pulsar-client是1.15.0,下载指定版本

复制代码
npm install pulsar-client@1.14.0

python sdk

环境

复制代码
# 查看 Python 2 版本
python --version

# 查看 Python 3 版本
python3 --version

这里的python3版本是3.6,所以下载2.10.1版本的,下面是升级了一下pip

复制代码
# 1. 升级 pip(用 pip3 对应 Python 3.6)
pip3 install --upgrade pip

# 2. 验证 pip 版本(确认升级成功)
pip3 --version  # 输出 pip x.x.x from ... (python 3.6)

# 3. 配置国内镜像源(阿里云,加速安装 pulsar-client)
pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip3 config set install.trusted-host mirrors.aliyun.com

运行demo

复制代码
#下载demo(记得修改配置)
wget http://download.infrasre.qihoo.net/tools/hulk-pulsar-python-sdk-demo.zip
#安装sdk
pip3 install 'pulsar-client==2.10.2'
#运行
python simple/SimpleConsumer.py
python simple/SimpleProducer.py

java sdk

maven安装

复制代码
#下载安装包(/usr/local/maven)
wget https://archive.apache.org/dist/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
#解压(/usr/local/maven/apache-maven-3.9.9)
tar -zxvf apache-maven-3.9.9-bin.tar.gz
#配置环境变量
vi /etc/profile

环境变量

复制代码
export M2_HOME=/usr/local/maven/apache-maven-3.9.9
export PATH=$PATH:$M2_HOME/bin

#检验是否安装成功
mvn -v

demo演示

复制代码
#下载demo(修改pulsar的配置)
wget http://download.infrasre.qihoo.net/tools/hulk-pulsar-springboot-demo.zip
#运行(和pom.xml同级目录下执行)
mvn exec:java -Dexec.mainClass="net.qihoo.cloud.pulsar.simple.SimpleProducer"

如果报错,就先编译在运行

复制代码
mvn clean compile
mvn exec:java -Dexec.mainClass="net.qihoo.cloud.pulsar.simple.SimpleProducer"
mvn exec:java -Dexec.mainClass="net.qihoo.cloud.pulsar.simple.SimpleConsumer"

C++ SDK

安装pulsar sdk

复制代码
#安装编译 / 依赖管理工具
yum install -y curl wget gcc-c++ cmake zlib-devel openssl-devel protobuf-devel boost-devel

#没找到国内镜像,卡住了就多试几次
#Pulsar C++ Client 运行库
wget https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.7.2/rpm-x86_64/x86_64/apache-pulsar-client-3.7.2-1.x86_64.rpm

#开发包(devel 包)
wget https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.7.2/rpm-x86_64/x86_64/apache-pulsar-client-devel-3.7.2-1.x86_64.rpm

# 安装运行库 + 开发包(两个包一起装,空格分隔)
rpm -ivh apache-pulsar-client-3.7.2-1.x86_64.rpm apache-pulsar-client-devel-3.7.2-1.x86_64.rpm

# 让系统立即识别新安装的 libpulsar.so 库
ldconfig

demo验证

复制代码
#拉去demo,修改pulsar配置
wget http://download.infrasre.qihoo.net/tools/hulk-pulsar-cpp-sdk-demo.zip
#运行,-l pulsar 链接 Pulsar 动态库
g++ simple/SimpleProducer.cpp -o simple_producer -l pulsar
g++ simple/SimpleConsumer.cpp -o simple_consumer -l pulsar
./simple_consumer
./simple_producer
相关推荐
RunningShare1 个月前
云原生时代的数据流高速公路:深入解剖Apache Pulsar的架构设计哲学
大数据·中间件·apache·pulsar
RunningShare1 个月前
大数据消息中间件选型终极指南:深度解析Kafka、Pulsar、RocketMQ架构与性能
大数据·kafka·rocketmq·pulsar
vivo互联网技术3 个月前
vivo Pulsar 万亿级消息处理实践(4)-Ansible运维部署
大数据·ansible·自动化运维·pulsar·消息处理·分布式消息中间件
斯普信专业组3 个月前
基于k8s环境下的pulsar常用命令(上)
云原生·容器·kubernetes·pulsar
vivo互联网技术4 个月前
vivo Pulsar 万亿级消息处理实践(3)-KoP指标异常修复
java·大数据·服务器·后端·kafka·消息队列·pulsar
TracyCoder1235 个月前
消息队列技术选型完全指南:从原理到实践
kafka·消息队列·rocketmq·pulsar
vivo互联网技术5 个月前
vivo Pulsar 万亿级消息处理实践(2)-从0到1建设 Pulsar 指标监控链路
大数据·kafka·消息队列·pulsar
_长银7 个月前
Plusar集群搭建-Ubuntu20.04-Winterm
消息队列·pulsar