TGIP-CN 直播回顾|Pulsar Manager 介绍及实操应用_分布式

本期 TGIP-CN,我们邀请到了 StreamNative 高级工程师俄广宁同学,为大家分享了关于 Pulsar 管理工具的介绍和代码应用,主要是 Pulsar Manager

其中包括了 Pulsar Manager 的开发动机和如何上手使用,如何将 Pulsar 的多租户与 Pulsar Manager 的授权机制等结合并高效使用的细节等。

为什么开发 Puslar Manager

此前,Pulsar 已有监控工具 Dashboard ,但它侧重于对 Pulsar 的简单监控(例如,搜集并展示 Tenants、Namespaces、Topics 和 Subscriptions 等监控信息),无法进行高阶管理(例如,对 Tenant、Namespace 和 Topic 等进行增加、删除、更新等操作),尤其是集群数量较多时,仅通过命令行工具 pulsar-admin 进行管理,效果却不尽人意。

基于此 StreamNative 的小伙伴便开发了 Pulsar Manager,想要对上述提出的高阶管理进行把控和操作,同时又加入了一些监控功能。主要体现在消息聚合,比如多集群、多环境的管理,支持 TLS 加密、JWT 认证和授权等。

在最新版本中又加入了对 BookKeeper 的管理,更多详情可以参考:
http://pulsar.apache.org/en/pulsar-manager-release-notes/

如何快速上手 Pulsar Manager

关于使用 Pulsar Manager 的介绍中,广宁首先为我们展示了如何使用 Pulsasr Manager 接入 BookKeeper 集群。

在进入代码操作之前,需要先准备 3 个安装包,分别是:

  • apache-pulsar-2.6.1-bin.tar.gz

  • apache-pulsar-manager-0.2.0-bin.tar.gz

  • apachepulsar/pulsar-manager:v0.2.0

这些都可以在 https://pulsar.apache.org/en/download/ 页面下进行下载。同时此次演示中所有命令行都可以参考:
https://github.com/tuteng/tgip-cn-27

关于使用 Pulsar Manager 的代码操作,大家可以参考回放视频中 11:50-14:40 时间段。

 

以上是基于本地环境来启动 Pulsar 和 Pulsar Manager 服务的介绍。接下来广宁又为大家演示了如何基于容器来部署 Pulsar 和 Pulsar Manager 服务。具体实操可以参考上方回放视频 15:10-22:30 时间段。

在最后的实例展示中,广宁通过启动 ZooKeeper、BookKeeper、Broker 和 Pulsar Manager,并开启 JWT 模式来模拟实际生产环境中的代码部署。同时开启 token 管理,进行授权、验证权限等,并对生产和消费进行实时测试。

具体代码实操部分可以参考上方回放视频 23:10-39:30 时间段。

Pulsar Manager 使用中的常见问题

Q1: 在 Pulsar Manager 上,集群页面不能正常展示

这种情况下,可通过将集群的 Service URL 更新为正确的即可,具体操作可参考下方代码

./bin/pulsar-admin clusters get cluster-name
./bin/pulsar-admin clusters update cluster-name --url http://docker.for.mac.host.internal:8080 --url-secure https//docker.for.mac.host.internal:8443 --broker-url pulsar://127.0.0.1:6650 --broker-url-secure pulsar+ssl://127.0.0.1:6651

Q2: Pulsar manager 如何使用自定义 MySQL 数据库

当初将 Pulsar Manager 开源并回馈给 Apache 社区时,由于当时 MySQL 的 License 和 Apache 的 License 有冲突,我们便将 MySQL connector 的相关功能的依赖给删除了。

但是后续也有用户会用到自定义 MySQL 数据,所以目前的解决方式是在 StreamNative repo 库下做了 Pulsar Manager 0.2.1 版本 release,在下方的 issues 中有提到关于使用 MySQL 自定义的步骤,大家可以参考下方链接:
https://github.com/streamnative/pulsar-manager/issues/164

总结

本期直播中,主要为大家展示了关于 Pulsar Manager 的一些应用和实例,希望通过本次分享,大家可以对 Pulsar 管理工具有了更深的了解并在未来实际部署中可以顺利应用。