夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
Pulsar 2.8.0集群搭建

Apache Pulsar 是一个原生云、分布式消息传递和流媒体平台。支持是一个可水平扩展、异地复制、多租户、持久化存储、高可靠性、低延迟的消息队列。

一、安装部署

准备工作

每个pulsar实例需要准备两个独立的zookeeper集群,一个集群负责集群级别的操作,提供集群的配置管理和协调。另一个负责实例级别的操作,提供整个系统的配置管理(跨集群)。

这里我准备了2个zookeeper集群,具体zookeeper集群配置详情请参考以前的博客

zookeeper cluster 1node1:2181,node2:2181,node3:2181,node4:2181,node5:2181
zookeeper cluster 2node1:2171,node2:2171,node3:2171,node4:2171,node5:2171

集群详细设计

单个pulsar集群由bookkeeper、broker、zookeeper集群组成的。

broker: 一个或者多个,,broker 负责处理和负载均衡 producer 发出的消息,并将这些消息分派给 consumer。

bookkeeper:负责存储消息,以及数据持久化存储,一般为一个或多个bookkeeper集群的形式出现。

Pulsar架构图

具体组件在节点中分布如下:

node1node2node3node4node5
broker111
bookkeeper11111

下载安装包

在Apache Pulsar 官网网站上进行下载然后上传到服务器中。也可以通过wget下载。

wget 'https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=pulsar/pulsar-2.8.0/apache-pulsar-2.8.0-bin.tar.gz' -O apache-pulsar-2.8.0-bin.tar.gz
tar -xf apache-pulsar-2.8.0-bin.tar.gz
cd apache-pulsar-2.8.0

配置conf

#broker
vim conf/broker.conf

# Zookeeper quorum connection string
zookeeperServers=node1:2181,node2:2181,node3:2181,node4:2181,node5:2181/pulsat-2.8.0

# Configuration Store connection string
configurationStoreServers=node1:2171,node2:2171,node3:2171,node4:2171,node5:2171/pulsat-2.8.0

# Broker data port
brokerServicePort=6650

# Broker data port for TLS - By default TLS is disabled
brokerServicePortTls=6651

# Port to use to server HTTP request
webServicePort=8080

# Port to use to server HTTPS request - By default TLS is disabled
webServicePortTls=8443

# Name of the cluster to which this broker belongs to
clusterName=pulsar-cluster
#bookkeeper
vim conf/bookkeeper.conf
## Server parameters
# Port that bookie server listen on
bookiePort=3181
# Directories BookKeeper outputs its write ahead log.
journalDirectory=data/bookkeeper/journal

## ZooKeeper parameters
zkServers=node1:2181,node2:2181,node3:2181,node4:2181,node5:2181/pulsat-2.8.0 

其他的配置可以根据自己的需求进行设置。

初始化集群元数据

Pulsar 集群的本地 Zookeeper 集群和全局的配置存储 Zookeeper 集群都部署完成, 你需要在实例中为每个集群写入一些元数据,进行初始化设置。

以下操作只是向两个zookeeper集群中写入数据,如果想重新初始化,删除掉zookeeper集群中的信息,重新执行命令既可。

#初始化集群元数据
bin/pulsar initialize-cluster-metadata \
  --cluster pulsar-cluster \
  --zookeeper node1:2181,node2:2181,node3:2181,node4:2181,node5:2181/pulsat-2.8.0 \
  --configuration-store node1:2171,node2:2171,node3:2171,node4:2171,node5:2171/pulsat-2.8.0 \
  --web-service-url http://node1:8080/ \
  --web-service-url-tls https://node1:8443/ \
  --broker-service-url pulsar://node1:6650/ \
  --broker-service-url-tls pulsar+ssl://node1:6651/

部署 Bookkeeper

在bookeeper节点中执行以下命令: node1-node5

#启动 bookie节点
bin/pulsar-daemon start bookie

#如果启动失败请检查下日志,看下是不是zookeeper集群配置错误,或者是初始化失败。可以利用zookeeper的可视化工具看下是否成功。

#检查节点是否正常工作
bin/bookkeeper shell bookiesanity

部署 broker

在borker节点中执行以下命令: node1-node3

#启动broker节点
bin/pulsar-daemon start broker

#前台启动
bin/pulsar broker

#通过日志查看是否启动成功,启动失败,请检查两个zookeeper集群的配置是否写对,要求和初始化元数据的一样。

#查看节点是否启动
jps

73969 Main    bookie节点
73751 QuorumPeerMain   zookeeper节点
39799 QuorumPeerMain   zookeeper节点
98106 PulsarBrokerStarter  broker

二、常用使用方式

敬请期待!

暂无评论

发送评论 编辑评论


				
上一篇
下一篇