Pulsar-Pulsar 之 pulsar manager

Pulsar Manager

Pulsar Manager是一个基于web的GUI管理和监视工具,可帮助管理员和用户管理和监视租户、名称空间、主题、订阅、代理、集群等,并支持对多个环境进行动态配置

安装

快速安装

使用Pulsar 管理器最简单的方法是在Docker容器中运行:

shell 复制代码
docker pull apachepulsar/pulsar-manager:v0.3.0
docker run -it \
  -p 9527:9527 -p 7750:7750 \
  -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
  apachepulsar/pulsar-manager:v0.3.0
  • Pulsar管理器分为前端和后端,前端业务端口为9527,后端业务端口为7750
  • SPRING配置文件:SPRING的默认配置文件
  • Pulsar管理器默认使用herddb数据库。HerdDB是一个用Java实现的SQL分布式数据库

配置数据库或JWT身份验证

配置数据库(可选)

如果我们有大量的数据,您可以使用自定义数据库。否则,可能会出现一些显示错误。例如,当主题超过10000时,将无法显示主题信息。

下面是PostgreSQL的一个示例:

  • 使用该文件初始化数据库和表结构
  • 下载并修改配置文件,然后添加PostgreSQL配置
properties 复制代码
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/pulsar_manager
spring.datasource.username=postgres
spring.datasource.password=postgres
  • 添加一个配置挂载,并从一个docker映像开始
shell 复制代码
docker pull apachepulsar/pulsar-manager:v0.3.0
docker run -it \
    -p 9527:9527 -p 7750:7750 \
    -v /your-path/application.properties:/pulsar-manager/pulsar-manager/application.properties
    -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
    apachepulsar/pulsar-manager:v0.3.0

启用JWT身份验证(可选)

如果要启用JWT身份验证,请配置application.properties。属性文件:

properties 复制代码
backend.jwt.token=token

jwt.broker.token.mode=PRIVATE
jwt.broker.public.key=file:///path/broker-public.key
jwt.broker.private.key=file:///path/broker-private.key

or
jwt.broker.token.mode=SECRET
jwt.broker.secret.key=file:///path/broker-secret.key
  • backend.jwt.token:超级用户的令牌。该参数需要在集群初始化时配置
  • jwt.broker.token.mode:生成令牌的多种模式,包括PUBLIC、PRIVATE和SECRET
  • jwt.broker.public.key:如果我们使用PUBLIC模式,请配置此选项
  • jwt.broker.private.key:如果我们使用PRIVATE模式,请配置此选项
  • jwt.broker.secret.key:如果您使用SECRET模式,请配置此选项

Docker命令添加profile和key文件mount文件挂载:

shell 复制代码
docker pull apachepulsar/pulsar-manager:v0.3.0
docker run -it \
  -p 9527:9527 -p 7750:7750 \
  -v /your-path/application.properties:/pulsar-manager/pulsar-manager/application.properties
  -v /your-path/private.key:/pulsar-manager/private.key
  -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
  apachepulsar/pulsar-manager:v0.3.0

设置管理员帐号和密码

shell 复制代码
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"}'

curl命令中的request参数:

json 复制代码
{"name": "admin", "password": "apachepulsar", "description": "test", "email": "username@test.org"}
  • name:name是pulsar管理器的登录用户名,当前为admin
  • password:password为pulsar管理器当前用户的密码,当前为apachepulsar。密码必须大于等于6位数字

配置环境

  1. 登录到系统,请访问http://localhost:9527登录。当前默认帐户是admin/apachepulsar
  2. 点击"新建环境"按钮添加环境
  3. 输入"环境名称",环境名称用于标识环境
  4. 输入"服务URL",服务URL是pulsar集群的管理服务URL

裸机安装

当使用二进制包进行直接部署时,我们可以遵循以下步骤:

  • 下载并解压缩二进制包,该包可在pulsar下载页面上获得
shell 复制代码
wget https://dist.apache.org/repos/dist/release/pulsar/pulsar-manager/pulsar-manager-0.3.0/apache-pulsar-manager-0.3.0-bin.tar.gz
tar -zxvf apache-pulsar-manager-0.3.0-bin.tar.gz
  • 提取后端服务二进制包,并将前端资源放在后端服务目录中
shell 复制代码
cd pulsar-manager
tar -xvf pulsar-manager.tar
cd pulsar-manager
cp -r ../dist ui
  • 修改application.properties属性:

如果我们不想修改application.properties文件,则可以通过启动参数添加配置./bin/pulsar-manager --backend.jwt.token=token,将配置添加到启动参数中

  • 启动
shell 复制代码
./pulsar-manager

自定义docker镜像安装

我们可以在Docker Hub目录中找到docker镜像,并从源代码构建镜像

shell 复制代码
git clone https://github.com/apache/pulsar-manager
cd pulsar-manager/front-end
npm install --save
npm run build:prod
cd ..
./gradlew build -x test
cd ..
docker build -f docker/Dockerfile --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`latest` --build-arg VERSION=`latest` -t apachepulsar/pulsar-manager .
相关推荐
Karoku0663 小时前
【k8s集群应用】kubeadm1.20高可用部署(3master)
运维·docker·云原生·容器·kubernetes
探索云原生8 小时前
在 K8S 中创建 Pod 是如何使用到 GPU 的: nvidia device plugin 源码分析
ai·云原生·kubernetes·go·gpu
启明真纳8 小时前
elasticache备份
运维·elasticsearch·云原生·kubernetes
会飞的土拨鼠呀12 小时前
chart文件结构
运维·云原生·kubernetes
Hello Dam15 小时前
面向微服务的Spring Cloud Gateway的集成解决方案:用户登录认证与访问控制
spring cloud·微服务·云原生·架构·gateway·登录验证·单点登录
power-辰南16 小时前
Zookeeper 底层原理解析
分布式·zookeeper·云原生
power-辰南16 小时前
Zookeeper常见面试题解析
分布式·zookeeper·云原生
Cairry.1 天前
WatchAlert - 开源多数据源告警引擎
云原生·开源·prometheus
会飞的土拨鼠呀1 天前
Kubernetes 是什么?
云原生·容器·kubernetes
向阳逐梦1 天前
开源云原生数据仓库ByConity ELT 的测试体验
数据仓库·云原生·开源