Pulsar Manager部署和启用认证
官方地址: https://pulsar.apache.org/docs/zh-CN/next/administration-pulsar-manager/
Pulsar Manager 是一个网页式可视化管理与监测工具,支持多环境下的动态配置。可用于管理和监测租户、命名空间、topic、订阅、broker、集群等。
Pulsar dashboard 目前已被弃用
Linux MacBook单机部署Pulsar并开启认证功能
Docker安装pulsar-manager
shell
#下载镜像
docker pull apachepulsar/pulsar-manager:v0.2.0
#启动
docker run --name pulsar-manager -dit \
-p 9527:9527 -p 7750:7750 \
-e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
apachepulsar/pulsar-manager:v0.2.0
设置管理员账户和密码
shell
#设置变量
CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)
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"}'
环境设置
浏览器访问:
输入上面设置的账号和密码: admin/apachepulsar
添加环境,可以添加多个, 点击:New Environment
例如: 输入名称: pulsar-test
ip和webServicePort端口: http://192.168.0.18:18080
页面创建token报错, 还没解决
{"error":"Token generate failed"}
通过密钥进行 token 认证和 token 管理
不需要外部的postgresql数据库
shell
docker pull postgres
docker run -it --name postgres --restart always -e POSTGRES_PASSWORD='pulsar' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /home/software/postgres/data:/var/lib/postgresql -p 55433:5432 -d postgres
docker exec -it postgres bash
su postgres
psql -U postgres -W
输入密码
postgres=# 成功连接
#初时化postgresql数据库脚本
https://github.com/apache/pulsar-manager/blob/master/src/main/resources/META-INF/sql/postgresql-schema.sql
export JWT_TOKEN="eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0LXVzZXIifQ.KLyHclBlln9ZCN92Py8FrjSiRa-8IMO1WtPKmv_nYeo"
export SECRET_KEY="file:///opt/my-secret.key"
使用外部的postgresql--没有成功
shell
docker run --name pulsar-manager -dit -p 9527:9527 -p 7750:7750 -e REDIRECT_HOST=http://192.168.0.18 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:55432/pulsar_manager' -e USERNAME=postgres -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -e JWT_TOKEN=$JWT_TOKEN -v $PWD:/data apachepulsar/pulsar-manager:v0.2.0
使用这个命令,自动拉起本地的 PostgresSQL 数据库实例----------------成功
shell
docker run --name pulsar-manager -dit -p 9527:9527 -p 7750:7750 -e REDIRECT_HOST=http://192.168.0.18 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -e JWT_TOKEN=$JWT_TOKEN -v $PWD:/data apachepulsar/pulsar-manager:v0.2.0
shell
docker run --name pulsar-manager -dit -p 9527:9527 -p 7750:7750 -e REDIRECT_HOST=http://192.168.0.18 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -e JWT_TOKEN=$JWT_TOKEN -e SECRET_KEY=$SECRET_KEY -v /home/software/apache-pulsar-2.8.0/manager-data:/data -v /opt:/pulsar-manager/secret apachepulsar/pulsar-manager:v0.2.0
docker安装pulsar-dashboard和启用认证
Pulsar dashboard 是一个网络应用程序,支持用户以表格形式监控所有 topic 的当前统计信息。
Dashboard 是一个数据收集器,可以从单个 Pulsar 实例(跨多个集群)的所有 broker 中轮询统计信息,并将信息存储在 PostgreSQL 数据库中。
可以使用 Django 来呈现收集到的数据。
pulsar-dashboard 官方说已弃用
官方地址: https://pulsar.apache.org/docs/zh-CN/next/administration-dashboard/
shell
#下载镜像
docker pull apachepulsar/pulsar-dashboard
#启动
docker run --name pulsar-dashboard -dit -p 7751:80 -e SERVICE_URL=http://192.168.0.18:18080 apachepulsar/pulsar-dashboard
#或者
#设置环境变量
SERVICE_URL=http://192.168.0.18:18080/
docker run -p 7751:80 \
-e SERVICE_URL=$SERVICE_URL \
apachepulsar/pulsar-dashboard:2.8.1
#启用Token认证
JWT_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY
docker run -p 7751:80 \
-e SERVICE_URL=$SERVICE_URL \
-e JWT_TOKEN=$JWT_TOKEN \
apachepulsar/pulsar-dashboard
浏览器访问: