Docker部署pulsar独立集群消息队列服务器

1、下载Pulsar docker 镜像

docker pull apachepulsar/pulsar:latest

2、生成Pulsar容器,把容器的6650和8080端口映射到宿主机的6650和8080端口,standalone参数表示pulsar为独立集群模式,把容器中的conf目录映射到宿主机的/var/lib/docker/volumes/pulsarconf,把容器中的data目录映射到宿主机的/var/lib/docker/volumes/pulsardata

docker run --name pulsar \
-p 6650:6650 \
-p 8080:8080 \
--mount source=pulsardata,target=/pulsar/data \
--mount source=pulsarconf,target=/pulsar/conf \
-d apachepulsar/pulsar bin/pulsar standalone

3、查看所有容器列表

docker ps -a

4、启动容器,可以通过容器名称来启动

docker start pulsar

 5、至此,pulsar消息队列就可以本地使用了,如果还需要外网使用,还需要修改几个文件,通过之前映射的conf目录修改容器中的配置文件,修改完成后 docker restart pulsar 重启容器生效

        5.1、修改/var/lib/docker/volumes/pulsarconf/_data/broker.conf文件,找到advertisedAddress=,后面填写外网能访问到的IP地址。

        5.2、修改/var/lib/docker/volumes/pulsarconf/_data/client.conf文件,找到webServiceUrl=和brokerServiceUrl=, 填写外网能访问的URL地址,注意端口一定要正确。

        5.3、如果需要用Pulsar Assistant 等工具进行远程管理,还需修改/var/lib/docker/volumes/pulsarconf/_data/standalone.conf文件,找到advertisedAddress=,填写外网能直接访问的IP地址。

        5.4、进入容器命令:

docker exec -it pulsar /bin/bash

        5.4.1、安装ping命令:

apt-get update
apt install net-tools iputils-ping dnsutils iproute2 ethtool inetutils-traceroute tcpdump -y

       5.5、查看所有容器的IP信息:

docker ps -q | xargs -n 1 docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'

           

6、安装WEB可视化管理

        6.1、拉取容器

docker pull apachepulsar/pulsar-manager:latest

        6.2、生成容器,并启动容器


docker run -it 、
  --name pulsar-manager 、
  -p 9527:9527 -p 7750:7750 \
  --mount source=pulsarmanager,target=/pulsar-manager/pulsar-manager \
  -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
  apachepulsar/pulsar-manager:latest

 Pulsar Manager 分为前端和后端,前端服务端口为 9527,后端服务端口为 7750。
    SPRING_CONFIGURATION_FILE:spring的默认配置文件。
    默认情况下,Pulsar Manager 使用 herddb 数据库。

        6.3、设置管理员账号密码

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"}'

7、如果要打开 JWT 身份验证,请配置该文件。application.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 模式,请配置此选项。 更多信息,请参见 Pulsar 的 Token 认证管理员

        7.1、Docker 命令添加配置文件和密钥文件挂载:

docker run -it \
  --name pulsar-manager \
  -p 9527:9527 -p 7750:7750 \
  --mount source=pulsarmanager,target=/pulsar-manager/pulsar-manager \
  -v /宿主机路径/private.key:/pulsar-manager/private.key
  -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
  apachepulsar/pulsar-manager:latest

         

8、pulsar-manager界面小常识

       8.1、进入http://x.x.x.x:9527,输入管理员账号密码登录,进入页面第一步先建立个环境。

         8.2、进入刚刚新建的环境,可以看到有以下几个概念: 租户、命名空间、订阅主题、角色。这时租户界面:

这是命名空间:

 

这是订阅主题:

 

 这几个概念对应订阅URL中路径:non-persistent://public/test_namespace/test2_topic

non-persistent: 表示非持久化

public: 租户

test_namespace: 命名空间

test2_topic: 订阅主题名称

消息生产者,可以生产不同主题的消息,只有订阅此主题的消费者才能收到消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值