前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pulsar-4:单机部署pulsar单节点集群

pulsar-4:单机部署pulsar单节点集群

作者头像
千里行走
发布2021-11-10 09:38:36
2.5K0
发布2021-11-10 09:38:36
举报
文章被收录于专栏:千里行走千里行走

在一台低配机器上部署一个单节点集群极其注意事项。

目录:

(1).准备工作

(2).部署zookeeper

(3).初始化集群元数据

(4).部署bookeeper单节点

(5).部署broker单节点

(6).pulsar-cient连接集群

(7).docker部署pulsar-manager

1.部署pulsar-manager

2.增加超级管理员用户

(1).准备工作

yum install -y java

java版本:11

yum 安装java的默认目录是/usr/lib/jvm/java

export JAVA_HOME=/usr/lib/jvm/jre-11-openjdk/

wget https://archive.apache.org/dist/pulsar/pulsar-2.8.0/apache-pulsar-2.8.0-bin.tar.gz

tar -xzvf apache-pulsar-2.8.0-bin.tar.gz

mv apache-pulsar-2.8.0 /app/3rd/

(2).部署zookeeper

cd apache-pulsar-2.8.0

vim conf/zookeeper.conf

增加配置:

server.1=ip:2888:3888

修改zk metric port:因为bookie也用原值8000,在同一台部署bookie会失败。

metricsProvider.httpPort=8001

mkdir -p data/zookeeper

echo 1 > data/zookeeper/myid

bin/pulsar-daemon start zookeeper

(3).初始化集群元数据

bin/pulsar initialize-cluster-metadata \ --cluster pulsar-cluster \ --zookeeper ip:2181 \ --configuration-store ip:2181 \ --web-service-url http://ip:8080 \ --web-service-url-tls https://ip:8443 \ --broker-service-url pulsar://ip:6650 \ --broker-service-url-tls pulsar+ssl://ip:6651

对应的删除元数据命令是:

bin/pulsar delete-cluster-metadata --cluster pulsar-cluster --zookeeper ip:2181

(4).部署bookeeper单节点

vim conf/bookkeeper.conf:

修改

zkServers=ip:2181

关闭autorecovry:

autoRecoveryDaemonEnabled=false

否则包错:BKNotEnoughBookiesException: Not enough non-faulty bookies available

后台启动bookie:

bin/pulsar-daemon start bookie

你可以通过运行BookKeeper shell上的bookiesanity命令验证 bookie 是否正常工作:

$ bin/bookkeeper shell bookiesanity

这个命令会在本地的 bookie 创建一个临时的 BookKeeper ledger,往里面写一些条目,然后读取它,最后删除这个 ledger。

(5).部署broker单节点

Broker 配置中有一些非常重要的参数,这些参数可以确保每个Broker 连接到已部署的 ZooKeeper 集群。需要确认 zookeeperServers 和 configurationStoreServers 配置项的值是正确的。在当前情况下,由于只有一个集群,没有单独用来存储配置的 Zookeeper 集群,那么配置项configurationStoreServers和zookeeperServers 是一样的值。

vim conf/broker.conf

zookeeperServers=ip:2181

configurationStoreServers=ip:2181

你必须配置集群的名字( 初始化集群元数据 提供的集群名字必须和这个配置项匹配):

clusterName=pulsar-cluster

如果你部署的是单节点的 Pulsar 集群,你需要把配置文件conf/broker.conf的副本数量配置为1.

managedLedgerDefaultEnsembleSize=1

managedLedgerDefaultWriteQuorum=1

managedLedgerDefaultAckQuorum=1

启用 Pulsar Function(可选)

If you want to enable Pulsar Functions, you can follow the instructions as below:

将conf/broker.conf文件的配置项functionsWorkerEnabled设置为true,启用函数 worker,

functionsWorkerEnabled=true

修改conf/functions_worker.yml的配置项pulsarFunctionsCluster 为集群的名称,该名称和初始化集群元数据使用的集群名字是同一个。

pulsarFunctionsCluster: pulsar-cluster

后台启动broker:

bin/pulsar-daemon start broker

(6).pulsar-cient连接集群

vim conf/client.conf

如果你没有 DNS 服务器,你能够使用多个域名组成的格式的服务的 URL:

webServiceUrl=http://ip:8080

brokerServiceUrl=pulsar://ip:6650

启动consumer监听:

bin/pulsar-client consume persistent://public/default/test -n 100 -s "consumer-test" -t "Exclusive"

启动producer发送消息:

bin/pulsar-client produce persistent://public/default/test -n 1 -m "Hello Pulsar"

可以在consumer上看到打印:

(7).docker部署pulsar-manager

1.部署pulsar-manager

mkdir -p /root/docker-local/docker-local-pulsar-manager/conf

下载bkvm.conf文件到制定目录:

cp https://github.com/apache/pulsar-manager/blob/master/src/main/resources/bkvm.conf /root/docker-local/docker-local-pulsar-manager/conf

下载application.properties文件到制定目录:

cp https://github.com/apache/pulsar-manager/blob/master/src/main/resources/application.properties /root/docker-local/docker-local-pulsar-manager/conf

修改bkvm.conf:

Enable bookkeeper visual manager(Optional):

bkvm.enabled=true

# BookKeeper Connection

# Default value zk+null://127.0.0.1:2181/ledgers works for Pulsar Standalone

metadataServiceUri=zk+null://bookie所在机器的ip:2181/ledgers

修改application.properties:

support peek message, default false:

pulsar.peek.message=true

#开启swagger

swagger.enabled=true

启动pulsar-manager:

docker run -it -d -p 9527:9527 -p 7750:7750 -e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties -v /root/docker-local/docker-local-pulsar-manager/conf/bkvm.conf:/pulsar-manager/pulsar-manager/bkvm.conf -v /root/docker-local/docker-local-pulsar-manager/conf/application.properties:/pulsar-manager/pulsar-manager/application.properties --name pulsar-manager apachepulsar/pulsar-manager

登陆pulsar-manager:

http:/ip:9527/

2.增加超级管理员用户

增加超级管理员用户和密码:

CSRF_TOKEN=$(curl http://127.0.0.1:7750/pulsar-manager/csrf-token)

curl -H "X-XSRF-TOKEN:

超级管理员新增参考官方文档:特别注意字符问题:

https://github.com/apache/pulsar-manager#access-pulsar-manager

有两个web后台:

pulsar-manager后台:

http://ipx:9527/#/environments

bkvm后台:需要在application.properties配置文件中开启

http://ipy:7750/bkvm

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千里行走 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档