前面学习了Pulsar的架构,在本地开发环境中使用Docker运行了单机的Pulsar,并学习使用plusar-admin命令行工具管理集群、租户、命名空间和Topic,使用Java和Go开发Pulsar的Producer和Consumer,使用Pulsar Schema管理消息数据的类型安全。 本节将学习PulsarWeb图形管理工具Pulsar Manager,使用Pulsar Manager也可以监控和管理Pulsar集群、组合、命名空间和Topic。遵循渐进性学习原则,本节还是现在本地开发环境使用Docker容器运行Pulsar Manager,以后再完成在Kubernetes集群中部署生产就绪的Pulsar集群和Pulsar Manager。

在Docker容器中运行Pulsar Manager命令如下:

1
2
3
4
5
6
7
8
docker pull apachepulsar/pulsar-manager:v0.2.0
docker volume create pulsar-manager-data
docker run -d \
    -v pulsar-manager-data:/pulsar-manager/pulsar-manager/dbdata \
    -p 9527:9527 -p 7750:7750 \
    -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
    --name pulsar-manager \
    apachepulsar/pulsar-manager:v0.2.0

设置管理员用户和密码:

1
2
3
4
5
6
7
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://ip:9527访问Pulsar Manager,登录成功后需要配置具体Pulsar的环境信息:

pulsar-manager-add-env.png

添加完成环境配置后,使用之前设置的管理员用户登录即可:

pulsar-manager.png

可以使用pulsar-manager在图形界面上完成租户、命名空间、Topic的管理工作。

Pulsar Manager的用户、创建的环境信息以及缓存的pulsar集群数据和监控数据库保存在它自己的数据库里。 注意上面启动的pulsar-manager容器,默认使用的是JVM-embeddable数据库HerdDB,如果有大量数据而且是生产部署的话,推荐使用外部的数据库PostgreSQL。 关于使用自定义数据库的配置可参考官方文档http://pulsar.apache.org/docs/zh-CN/administration-pulsar-manager/

参考