Pulsar Manager

    Docker 容器中运行是使用 Pulsar Manager 最简单的方法。

    • : Spring 默认使用的配置文件
    1. CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)
    2. curl \
    3. -H 'X-XSRF-TOKEN: $CSRF_TOKEN' \
    4. -H 'Cookie: XSRF-TOKEN=$CSRF_TOKEN;' \
    5. -H "Content-Type: application/json" \
    6. -X PUT http://localhost:7750/pulsar-manager/users/superuser \
    7. -d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "username@test.org"}'

    你能在 找到这个 docker 镜像,这个镜像是基于下面的源码构建的:

    1. git clone https://github.com/apache/pulsar-manager
    2. cd pulsar-manager/front-end
    3. npm install --save
    4. npm run build:prod
    5. cd ..
    6. ./gradlew build -x test
    7. cd ..
    8. 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 .

    如有大量数据,则可以使用自定义数据库。 使用 PostgreSQL 的示例如下:

    1. 使用 file 初始化数据库和表结构。

    2. 修改 并配置 PostgreSQL。

    1. 进行编译,生成一个新的可执行 jar 包。
    1. ./gradlew build -x test

    启用 JWT 认证,需配置以下参数:

    • jwt.broker.token.mode: multiple modes of generating token, including PUBLIC, PRIVATE, and SECRET.
    • jwt.broker.public.key: configure this option if you use the PUBLIC mode.
    • jwt.broker.private.key: configure this option if you use the PRIVATE mode.
    • jwt.broker.secret.key: configure this option if you use the SECRET mode.

    更多详细信息,参阅 Pulsar token 认证管理

    可通过以下方式启用 JWT 认证。

    • 方法 1:使用命令行工具
    1. wget https://dist.apache.org/repos/dist/release/pulsar/pulsar-manager/apache-pulsar-manager-0.2.0/apache-pulsar-manager-0.2.0-bin.tar.gz
    2. tar -zxvf apache-pulsar-manager-0.2.0-bin.tar.gz
    3. tar -zxvf pulsar-manager.tar
    4. cd pulsar-manager
    5. cp -r ../dist ui
    6. ./bin/pulsar-manager --redirect.host=http://localhost --redirect.port=9527 insert.stats.interval=600000 --backend.jwt.token=token --jwt.broker.token.mode=PRIVATE --jwt.broker.private.key=file:///path/broker-private.key --jwt.broker.public.key=file:///path/broker-public.key

    首先,

    然后,通过 http://localhost:7750/ui/index.html 登录到 Pulsar manager。

    • 方法 2:配置 application.properties 文件
    • 方法3:使用Docker,并启用 Token 认证。
    1. export JWT_TOKEN="your-token"
    2. docker run -it -p 9527:9527 -p 7750:7750 -e REDIRECT_HOST=http://localhost -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 /bin/sh
    • JWT_TOKEN: 超级用户对 broker 配置的 token。 它由bin/pulsar tokens create --secret-key或者bin/pulsar tokens create --private-key命令创建。

    • REDIRECT_HOST: 前端服务的IP地址。

    • REDIRECT_PORT: 前端服务的端口。

    • URL: PostgreSQL 数据库的 JDBC URL, 例如 jdbc:. 镜像启动的时候会自动拉起本地的 PostgresSQL 数据库实例。

    • USERNAME: PostgreSQL 的用户名。

    • PASSWORD: PostgreSQL 的密码。

    • LOG_LEVEL: 日志级别。

    • 方法 4:使用 Docker,通过私钥和公钥进行 token 认证token 管理

    1. export PRIVATE_KEY="file:///pulsar-manager/secret/my-private.key"
    2. export PUBLIC_KEY="file:///pulsar-manager/secret/my-public.key"
    3. docker run -it -p 9527:9527 -p 7750:7750 -e REDIRECT_HOST=http://localhost -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 PRIVATE_KEY=$PRIVATE_KEY -e PUBLIC_KEY=$PUBLIC_KEY -v $PWD:/data -v $PWD/secret:/pulsar-manager/secret apachepulsar/pulsar-manager:v0.2.0 /bin/sh
    • JWT_TOKEN: 超级用户对 broker 配置的 token。 它是由bin/pulsar tokens create --private-key命令创建的。

    • PRIVATE_KEY:私有 key 在容器内的挂载路径,它是由命令创建的。

    • PUBLIC_KEY: 公有 key 在容器内的挂载路径,它是由bin/pulsar tokens create-key-pair命令创建的。

    • $PWD/secret: 由 bin/pulsar tokens create-key-si 命令在本地生成的私钥和公钥的目录。

    • REDIRECT_HOST: 前端服务的IP地址。

    • REDIRECT_PORT: 前端服务的端口。

    • DRIVER_CLASS_NAME: PostgreSQL 数据库的驱动名称。.

    • URL: PostgreSQL 数据库的 JDBC URL, 例如 jdbc:postgresql://127.0.0.1:5432/pulsar_manager. 镜像启动的时候会自动拉起本地的 PostgresSQL 数据库实例。

    • USERNAME: PostgreSQL 的用户名。

    • LOG_LEVEL: 日志级别。

    • 方法 5:使用 Docker,通过密钥进行 token 认证token 管理

    • JWT_TOKEN: 超级用户对 broker 配置的 token。 它是由bin/pulsar tokens create --secret-key命令生成的。

    • PUBLIC_KEY: secret key 在容器内的挂载路径,它是由bin/pulsar tokens create-secret-pair命令创建的。

    • $PWD/secret: 由 bin/pulsar tokens create-secret-si 命令在本地生成的 secret key 的目录。

    • REDIRECT_HOST: 前端服务的IP地址。

    • REDIRECT_PORT: 前端服务的端口。

    • DRIVER_CLASS_NAME: PostgreSQL 数据库的驱动名称。.

    • URL: PostgreSQL 数据库的 JDBC URL, 例如 jdbc:. 镜像启动的时候会自动拉起本地的 PostgresSQL 数据库实例。

    • USERNAME: PostgreSQL 的用户名。

    • PASSWORD: PostgreSQL 的密码。

    • : 日志级别。

    • 了解更多前台配置信息,点击这里

    登录

    访问 http://localhost:9527 进行登录。