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 .
相关推荐
huaqianzkh29 分钟前
了解华为云容器引擎(Cloud Container Engine)
云原生·架构·华为云
Alone804638 分钟前
K8s中HPA自动扩缩容及hml
云原生·容器·kubernetes
HoweWWW2 小时前
k8s-API 访问控制
云原生·容器·kubernetes
星辰@Sea2 小时前
服务注册中心对比及使用场景分析
java·云原生
专家大圣6 小时前
云原生信息安全:筑牢数字化时代的安全防线
安全·云原生
数据智能老司机9 小时前
Kubernetes从入门到精通系列——外部 DNS 和全局负载均衡
云原生·容器·kubernetes
华为云开源14 小时前
openGemini 社区人才培养计划:助力成长,培养新一代云原生数据库人才
数据库·云原生·开源
ZHOU西口1 天前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
无名之逆1 天前
云原生(Cloud Native)
开发语言·c++·算法·云原生·面试·职场和发展·大学期末
Richardlygo1 天前
(k8s)Kubernetes部署Promehteus
云原生·容器·kubernetes