【中间件】Pulsar集群安装

目录

一、Pulsar介绍

1.1 Pulsar基本介绍

1.2 Pulsar架构

Producer & Consumer

Apache Zookeeper

Pulsar Brokers

Apache Bookkeeper

二、Zookeeper集群安装

三、Pulsar集群安装

3.1 bookie与broker配置

3.1.1 修改bookie配置文件

3.1.2 修改broker配置文件

3.2 元数据初始化

3.3 服务启动

3.4 消息收发测试

四、Pulsar admin manger图形界面安装


一、Pulsar介绍


1.1 Pulsar基本介绍


pulsar是一个云原生企业级的发布订阅(pub-sub)消息系统,最初由Yahoo开发,并于2016年底开源,现在是Apache软件基金会顶级开源项目。Pulsar在Yahoo的生产环境运行了三年多,助力Yahoo的主要应用,如Yahoo Finance、Yahoo Sports、Flickr、Gemini广告平台和Yahoo分布式键值存储系统Sherpa。

Apache Pulsar的功能与特性:

  • 多租户模式
  • 灵活的消息系统
  • 云原生架构
  • segmented Sreams(分片流)
  • 支持跨地域复制

1.2 Pulsar架构


Pulsar官网: Apache Pulsar | Apache Pulsar

Producer & Consumer

Pulsar客户端包含一个消费者和一个生产者。生产者写入消息到某个主题。消费者从主题读取消息,并确认特定消息或所有特定消息。

Apache Zookeeper

Pulsar和BookKeeper使用Apache ZooKeeper保存节点之间协调的元数据,例如每个主题的分类账列表,每个分类账的片段,以及主题包到代理的映射。它是一个由高可用性和可复制的服务器组成的集群(通常是3个)。

Pulsar Brokers

主题(即分区)在Brokers代理之间进行划分。代理接收主题的消息,并将它们附加到托管在Bookkeeper集群上的主题的活动虚拟文件(又称分类账)。代理从缓存(大部分)或BookKeeper读取消息,并将它们分发给消费者。代理也接收消息确认并将其持久化到BookKeeper集群。代理是无状态的(不使用/不需要磁盘)。

Apache Bookkeeper

Apache BookKeeper是一个称为bookies的节点集群。每个虚拟文件(又名账本)被分成连续的段,默认情况下,每个段由3个bookies 保存(由客户端复制,即经纪人)。由于不需要在它们之间进行数据重组(移动),运营商可以快速添加博彩公司。它们立即共享传入的写负载。

测试环境

主机名

IP

角色

ddp01

192.168.2.76

zk,bookie,broker

ddp02

192.168.2.78

zk,bookie,broker

ddp03

192.168.2.80

zk,bookie,broker

JDK版本兼容性如下:


二、Zookeeper集群安装


使用DataSophon 安装Zookeeper ,也可以直接tar包安装参考文档

选择服务

选择server节点

配置信息确认

安装完成

查看ZK配置信息,ZK安装路径:/opt/datasophon/zookeeper

zoo.cfg 配置文件

clientPort=2181
dataDir=/data/zookeeper
dataLogDir=/data/log
tickTime=2000
initLimit=10
syncLimit=5
server.1=192.168.2.76:2888:3888
server.2=192.168.2.78:2888:3888
server.3=192.168.2.80:2888:3888
skipACL=yes

三、Pulsar集群安装


pulsar版本

Pulsar下载

# 3台创建 并同步安装包
mkdir -p /opt/module
wget https://archive.apache.org/dist/pulsar/pulsar-2.8.1/apache-pulsar-2.8.1-bin.tar.gz

tar -zxvf apache-pulsar-2.8.1-bin.tar.gz -C /opt/module
cd /opt/module
ln -s apache-pulsar-2.8.1-bin puslar_2.8.1

可以验证ZooKeeper节点是否启动成功

cd /opt/module/apache-pulsar-2.8.1

./bin/pulsar zookeeper-shell -server 192.168.2.76:12181
./bin/pulsar zookeeper-shell -server 192.168.2.78:12181
./bin/pulsar zookeeper-shell -server 192.168.2.80:12181

如下进入了 ZK客户端,查看Znode节点

3.1 bookie与broker配置


3.1.1 修改bookie配置文件


# 分别每个节点执行
# 创建bookie所需要目录
mkdir -p  /opt/module/pulsar_2.8.1/tmp/journal
mkdir -p  /opt/module/pulsar_2.8.1/tmp/ledger


vim /opt/module/puslar_2.8.1/conf/bookkeeper.conf

# advertisedAddress 修改为服务器对应的ip,在另外两台服务器也做对应的修改advertisedAddress=192.168.1.193
advertisedAddress=192.168.2.76

# 修改以下两个文件目录地址
journalDirectory=/opt/module/pulsar_2.8.1/tmp/journal
ledgerDirectories=/opt/module/pulsar_2.8.1/tmp/ledger

# 修改zk地址和端口信息
zkServers=192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181

#httpServerPort默认也是8000,建议修改,我这里修改为:8100
prometheusStatsHttpPort=8100

3.1.2 修改broker配置文件


cd /opt/module/pulsar_2.8.1
vim conf/broker.conf

修改第44行: 更改为本地ip地址
advertisedAddress=192.168.2.76

修改第125行: 修改集群的名称
clusterName=pulsar-cluster

修改第1794行: 配置zookeeper地址
zookeeperServers=192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181


修改第73行: 配置zookeeper地址
configurationStoreServers=192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181

修改第73行 http请求服务端口
webServicePort=18080

同步到其它两台

scp  -r apache-pulsar-2.7.5  ddp02:/opt/module
scp  -r apache-pulsar-2.7.5  ddp03:/opt/module
cd /opt/module
ln -s apache-pulsar-2.8.1-bin puslar_2.8.1

3.2 元数据初始化


在其中一个 zookeeper 节点的机器上,初始化集群元数据(总共只需执行一次)

#先查看端口占用情况,避免后面启动时会报端口占用错误
netstat -tpnl |grep 8080  
netstat -tpnl |grep 8443
netstat -tpnl |grep 6650
netstat -tpnl |grep 6651


bin/pulsar initialize-cluster-metadata \
--cluster pulsar-cluster \
--zookeeper 192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 \
--configuration-store 192.168.2.76:2181,192.168.2.78:2181,192.168.2.80:2181 \
--web-service-url http://192.168.2.76:18080,192.168.2.78:18080,192.168.2.80:18080 \
--web-service-url-tls https://192.168.2.76:8443,192.168.2.78:8443,192.168.2.80:8443 \
--broker-service-url pulsar://192.168.2.76:6650,192.168.2.78:6650,192.168.2.80:6650 \
--broker-service-url-tls pulsar+ssl://192.168.2.76:6651,192.168.2.78:6651,192.168.2.80:6651

查看元数据是否初始化成功

#连接任意一台zookeeper,比如:192.168.1.193
./bin/pulsar zookeeper-shell -server 127.0.0.1:2181
#查询数据
ls /
#显示如下,有bookies,pulsar等信息,表示成功初始化
[admin, bookies, ledgers, managed-ledgers, namespace, stream, zookeeper]

3.3 服务启动



# BookKeeper集群启动
#启动bookie命令,以后台进程启动bookie
./bin/pulsar-daemon start bookie

# bookie停止命令
./bin/pulsar-daemon stop bookie

# 验证是否启动成功
./bin/bookkeeper shell bookiesanity


# 以后台进程启动 broker
./bin/pulsar-daemon start broker

# broker关闭命令如下:
./bin/pulsar-daemon stop broker

测试判断broker是否启动成功


./bin/pulsar-admin --admin-url http://192.168.2.76:18080 brokers list pulsar-cluster

部署正常的话 会显示如下结果

3.4 消息收发测试


#在yx subscription 订阅中 consume 一条消息到topic:yx-tech的命令
./bin/pulsar-client consume yx-tech -s "yx subscription"

开启另一个终端发送数据,观察订阅者收到数据:content:hello-yx

#生产者发送: 向名称为 my-topic 的 topic 发送一条简单的消息 hello-pulsar
#--messages后面双引号中的内容,若以英文逗号分隔,则消息会分开发送
./bin/pulsar-client produce yx-tech --messages "hello-yx"

如果消费者可以正常接收到消息就代表安装成功


四、Pulsar admin manger图形界面安装


Pulsar admin manger是基于Plusar的可视化界面,接下来进行安装

wget https://www.apache.org/dyn/closer.lua/pulsar/pulsar-manager/pulsar-manager-0.4.0/apache-pulsar-manager-0.4.0-bin.tar.gz

tar -zxf  apache-pulsar-manager-0.4.0-bin.tar.gz -C /home/bigdata/apps/
cd /home/bigdata/apps/apache-pulsar-manager-0.4.0-bin/
# 解压文件
tar -xvf pulsar-manager.tar
# 进入解压后的文件夹
cd pulsar-manager
# 复制文件
cp -r ../dist ui

修改配置文件application.properties根据需要进行属性配置。如果不想修改应文件application.properties,可以通过命令将配置添加到启动参数中。这是Spring引导框架的一个功能。

/bin/pulsar --managerbackend.jwt.Token=Token

启动pulsar

./bin/pulsar-manager

初始化用户名密码

CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)
curl \
   -H 'X-XSRF-TOKEN: $CSRF_TOKEN' \
   -H 'Cookie: XSRF-TOKEN=$CSRF_TOKEN;' \
   -H "Content-Type: application/json" \
   -X PUT http://localhost:7750/pulsar-manager/users/superuser \
   -d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "username@test.org"}'

http://192.168.2.76:7750/ui/index.html

点击 new Environment, 设置集群环境即可

新建环境,连接pulsar。设置pulsar集群名字,这里是配置文件中的集群名。以及链接URL,这里也是初始化时配置的url。

可以查看和新建namespace 、topic 等

参考文档:

高版本的Pulsar需要

JDK17下载地址:Java Downloads | Oracle 中国

云原生时代消息中间件Pulsar(介绍、集群安装部署、管理页面安装部署) 2-阿里云开发者社区

【pulsar学习】pulsar集群部署及可视化监控部署_学习_hhhSir'blog-华为云开发者联盟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/707949.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

轮到国产游戏统治Steam榜单

6月10日晚8点,《黑神话:悟空》实体版正式开启全款预售,预售开启不到5分钟,所有产品即宣告售罄。 Steam上,《黑神话:悟空》持续占据着热销榜榜首的位置。 但在《黑神话:悟空》傲人的光环下,还有一款国产游戏取得出色的成绩。 6月10日&#…

32T存储删除视频的恢复方法

由于存储技术的发展和普及目前很多行业都开始使用小型存储,NAS可以通过网络进行数据上传和读取,使用极为方便。但是由于NAS设备容量较大且碎片较多,所以此类设备删除或者格式后恢复难度是比较大的,下边我们来分享下32T存储的恢复方…

Android面试题之ActivityManagerService的启动流程

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 SystemServer启动 创建SystemContex 用于加载系统相关的资源,比如theme,android命名空间下的资源等创建引导服务&#…

关于Ubuntu24.04嘉立创EDA无法启动的问题

关于Ubuntu24.04嘉立创EDA无法启动的问题 查看无法启动原因解决办法1解决办法2 查看无法启动原因 在终端使用启动文件命令报错 解决办法1 输入如下命令可以正常启动 ./lceda-pro --no-sandbox 解决办法2 找到desktop文件进行修改 cd /usr/share/applications sudo vim lce…

基于顺序表与链表的顺序查找(顺序表的折半查找)

内容 基于任意一个顺序表、链表&#xff0c;实现顺序查找算法&#xff1b;实现折半查找算法&#xff0c;并思考折半查找算法的适用场景&#xff1b; #代码实现 #include<iostream> #include <stdlib.h> using namespace std; #define MAX 20 #define datatype int…

JS手写题解析

手写Promise class MyPromise {constructor(executor) { // executor执行器this.status pending // 等待状态this.value null // 成功或失败的参数this.fulfilledCallbacks [] // 成功的函数队列this.rejectedCallbacks [] // 失败的函数队列const that thisfunction reso…

PCL 任意二维图像转点云

目录 一、概述二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 给定任意一张图片,通过代码操作将图片转成点云。图像中包含大量可用信息,其中必不可少的信息为像素坐标和像素值,将像…

基于Python+OpenCV的车牌识别停车场管理系统(PyQt界面)【含Python源码 MX_009期】

简介&#xff1a; 基于Python和OpenCV的车牌识别停车场管理系统是一种利用计算机视觉技术来自动识别停车场进出车辆的系统。该系统通过摄像头捕获车辆图像&#xff0c;并使用OpenCV库中的图像处理和模式识别技术来识别图像中的车牌号码。一旦车牌被成功识别&#xff0c;系统就会…

今年的就业环境不容乐观,你想好怎么应对了吗

今年的就业环境不容乐观&#xff0c;你想好怎么应对了吗 毕业生进入职场的历程往往充满挑战和未知&#xff0c;尤其是在当前经济环境下&#xff0c;失业问题愈发凸显。本文通过分享几位年轻人的真实经历&#xff0c;剖析大学生及职场人士面临的困境&#xff0c;并提供应对策略…

字符串及其应用

内容 编写程序实现字符串的基本运算&#xff1a; (1) 求串的长度、两串连接、串比较、子串匹配&#xff1b; (2) 用库函数直接实现上一步的字符申操作 完整代码 #include <iostream> #include <stdio.h> #include<string.h> using namespace std; #define M…

【乐吾乐2D可视化组态编辑器】下载离线部署包

下载离线部署包 乐吾乐2D可视化/大屏可视化支持导出为可直接部署运行的html文件。 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.com/ 1. 从“文件”菜单选择“下载离线部署包” 【提示】离线部署包是需要付费下载&#xff0c;首次体验&#xff0c;可以选择&…

注解 - @ControllerAdvice

注解简介 在今天的每日一注解中&#xff0c;我们将探讨ControllerAdvice注解。ControllerAdvice是Spring框架中的一个注解&#xff0c;用于集中处理应用程序中所有控制器的全局异常处理、数据绑定和数据预处理。 注解定义 ControllerAdvice注解用于定义一个全局的异常处理、数…

SQL优化选对执行计划,查询速度提升1000倍 | OceanBase 应用实践

作者&#xff1a;爱可生数据库高级工程师任仲禹&#xff0c;擅长故障分析和性能优化。 本文通过一个案例&#xff0c;分享使用OceanBase时&#xff0c;SQL走错执行计划&#xff0c;而导致慢SQL的排查方法论。 案例背景 在使用OceanBase 3.2.3 版本的过程中&#xff0c;项目组反…

【Da-SimaRPN】《Distractor-aware Siamese Networks for Visual Object Tracking》

ECCV-2018 中科大 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method4.1 Features and Drawbacks in Traditional Siamese Networks4.2 Distractor-aware Training4.3 Distractor-aware Incremental Learning4.4 DaSiamRPN for Long-t…

【详解Python文件: .py、.ipynb、.pyi、.pyc、​.pyd !】

今天同事给我扔了一个.pyd文件&#xff0c;说让我跑个数据。然后我就傻了。。 不知道多少粉丝小伙伴会run .pyd代码文件&#xff1f;如果你也懵懵的&#xff0c;请继续往下读吧。。 Python文件是存储Python代码或数据的文本文件&#xff0c;通常以.py作为文件扩展名。这些文件…

k8s 自动伸缩机制-------HPA 超详细解读

目录 在K8s中扩缩容分为两种&#xff1a; 前言 弹性伸缩是根据用户的业务需求和策略&#xff0c;自动“调整”其“弹性资源”的管理服务。通过弹性伸缩功能&#xff0c;用户可设置对定时、周期或监控策略&#xff0c;恰到好处地增加或减少“弹性资源”&#xff0c;并完成实例…

单片机课设-基于单片机的电子时钟设计(仿真+代码+报告)

基于单片机的电子时钟设计 前言一、课设任务是什么?二、系统总体方案硬件设计2.1 系统硬件总体设计2.2 键盘电路设计2.3 DS1302实时时钟芯片电路设计2.4 复位电路2.5 LCD电路设计 三、软件设计3.1 主程序流程图3.2 主要程序设计代码3.3 修改时间函数3.4 扫描键盘函数 四、仿真…

基坑监测:关键环节与深入剖析,保障施工安全与质量新标准

在建筑工程中&#xff0c;基坑监测是一项至关重要的工作&#xff0c;它涉及对基坑施工现场的实时监测数据进行分析和评估&#xff0c;以确保基坑施工活动的稳定、安全和高效进行。基坑监测涵盖地质勘探、基坑开挖、加固、支护、周边环境以及工程质量验收等多个环节&#xff0c;…

FlashDB的TS数据库的标准ANSI C移植验证

本文目录 1、引言2、环境准备3、修改驱动4、验证 文章对应视频教程&#xff1a; 暂无&#xff0c;可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在当今数据驱动的时代&#xff0c;高效可靠的数据存储与管理对于嵌入式系统及物联网(IoT)应用至关重…

【C++继承解密】:构建层次化设计的艺术

&#x1f4c3;博客主页&#xff1a; 小镇敲码人 &#x1f49a;代码仓库&#xff0c;欢迎访问 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f30f; 任尔江湖满血骨&#xff0c;我自踏雪寻梅香。 万千浮云遮碧…