我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Apache Pulsar集群搭建部署详细过程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Apache Pulsar集群搭建部署详细过程

目录
  • 一、集群组成说明
  • 二、安装前置条件
  • 三、ZooKeeper集群搭建
  • 四、BookKeeper集群搭建
  • 五、Broker集群搭建
  • 六、docker安装pulsar-dashboard

一、集群组成说明

1、搭建Pulsar集群至少需要3个组件:ZooKeeper集群、BookKeeper集群和Broker集群(Broker是Pulsar的自身实例)。这三个集群组件如下:
ZooKeeper集群(3个ZooKeeper节点组成)
Bookie集群(也称为BookKeeper集群,3个BookKeeper节点组成)
Broker集群(3个Pulsar节点组成)

2、Pulsar的安装包已经包含了搭建集群所需的各个组件库,无需单独下载ZooKeeper安装包和BookKeeper安装包。

二、安装前置条件

1、准备3台测试linux服务器(Centos 7)。
2、在3台Linux裸机服务器上安装JDK(要求版本不低于JDK8)。
3、下载Pulsar安装包,https://pulsar.apache.org/download/,上传至3台服务器。

三、ZooKeeper集群搭建

Pulsar安装包内包含了ZooKeeper,也可以自建ZooKeeper,自建ZooKeeper的方式略。安装Pulsar安装包内的ZooKeeper方法如下:

1、解压Pulsar安装包

ApachePulsar集群搭建部署详细过程

切换到根目录:$ cd /
创建data目录:$ mkdir data
解压:$ tar -zxvf apache-pulsar-2.9.1-bin.tar.gz

2、修改zookeeper.conf配置文件(三个节点上都需执行此操作),新增或修改如下关键配置项:

# dataDir是修改,其他都是新增
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
server.1=IP1:2888:3888
server.2=IP2:2888:3888
server.3=IP3:2888:3888

参数说明:
dataDir:当前zookeeper节点的数据存放目录
dataLogDir:当前zookeeper节点的日志存放目录
server.1~3:为zookeeper集群的各个节点指定编号

3、在每个zookeeper节点的机器上,新建如下文件目录:

ApachePulsar集群搭建部署详细过程

data:ZooKeeper使用的数据存储目录
mkdir -pv /data/zookeeper/data
log:ZooKeeper使用的日志存储目录
mkdir -pv /data/zookeeper/log

4、为每个zookeeper节点新建myid,分别在指定的sever上写入配置文件中指定的编号:

在server.1服务器上执行bash命令:
echo 1 > /data/zookeeper/data/myid
在server.2服务器上执行bash命令:
echo 2 > /data/zookeeper/data/myid
在server.3服务器上执行bash命令:
echo 3 > /data/zookeeper/data/myid

5、执行后台运行命令,这个命令是启动zookeeper:

bin/pulsar-daemon start zookeeper

6、执行zookeeper客户端连接命令:

bin/pulsar zookeeper-shell
客户端正常连接,就算zookeeper启动好了

7、在另外两台服务器上也执行bin/pulsar-daemon start zookeeper之后,在其中一个zookeeper节点的机器上,初始化集群元数据(总共只需执行一次):

例如在IP1上:
bin/pulsar initialize-cluster-metadata \
    --cluster pulsar-cluster-zk \
    --zookeeper IP1:2181 \
    --configuration-store IP1:2181 \
    --web-service-url http://IP1:8080,IP2:8080,IP3:8080 \
    --web-service-url-tls https://IP1:8443,IP2:8443,IP3:8443 \
    --broker-service-url pulsar://IP1:6650,IP2:6650,IP3:6650 \
--broker-service-url-tls pulsar+ssl://IP1:6651,IP2:6651,IP3:6651
或使用如下指令:
bin/pulsar initialize-cluster-metadata \
  --cluster pulsar-cluster-zk \
  --zookeeper HOSTNAMEIP:2181 \
  --configuration-store HOSTNAMEIP:2181 \
  --web-service-url http://HOSTNAMEIP:8080 \
  --web-service-url-tls https://HOSTNAMEIP:8443 \
  --broker-service-url pulsar://HOSTNAMEIP:6650 \
  --broker-service-url-tls pulsar+ssl://HOSTNAMEIP:6651
集群元数据说明:
cluster
集群名称
zookeeper
ZooKeeper集群连接参数,仅需要包含ZooKeeper集群中的一个节点即可
configuration-store
Pulsar实例的配置存储集群(ZooKeeper),多集群部署时才会发挥作用,需要另外部署ZooKeeper集群,但是单集群部署时可以和–zookeeper参数设置一样,只需要包含ZooKeeper集群中的一个节点即可
web-service-url
集群Web服务的URL+端口,URL是一个标准的DNS名称,默认端口8080,不建议修改。
web-service-url-tls
集群Web提供TLS服务的URL+端口,端口默认8443,不建议修改。
broker-service-url
集群brokers服务URL,URL中DNS的名称和Web服务保持一致,URL使用pulsar替代http/http,端口默认6650,不建议修改。
brokEajBhUOler-service-url-tls
集群brokers提供TLS服务的URL,默认端口6551,不建议修改。

8、验证zookeeper初始化集群是否初始化成功

bin/pulsar zookeeper-shell
进入zk控制台,通过ls /查看所有zk节点。能看到bookies,ledgers等节点,则说明初始化成功了。
如果需要关闭zookeeper,可使用命令
bin/pulsar-daemon stop zookeeper

ApachePulsar集群搭建部署详细过程

注意:
启动3台服务器的zookeeper节点之后,发现zookeeper节点之后无法相互注册,需要开放特定的端口或直接关闭防火墙。下面是firewall防火墙相关操作指令:

firewall防火墙
1、查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。

2、查看firewall的状态
firewall-cmd --state

3、开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

4、查看防火墙规则
firewall-cmd --list-all

5、查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

四、BookKeeper集群搭建

1、修改bookkeeper.conf配置文件(三个节点上都需执行此操作),修改如下关键配置项:

advertisedAddress=IP1
zkServers=IP1:2181,IP2:2181,IP3:2181
journalDirectory=/data/bookkeeper/journal
ledgerDirectories=/data/bookkeeper/ledgers
prometheusStatsHttpPort=8100

注意:
1、prometheusStatsHttpPort默认是8000,但实际上在bookkeeper.conf中,httpServerPort默认也是8000,会导致端口被占用。
2、上面的advertisedAddress需要设置为对应机器的ip,而不是全设置为同一个

参数说明:
advertisedAddress:指定当前节点的主机名或IP地址。
zkServers:指定zookeeper集群,用来将bookkeeper节点的元数据存放在zookeeper集群。
journalDirectories:当前bookkeeper节点的journal数据存放目录。
如果需要提高磁盘写入性能,可以指定多个目录用来存放journal数据,关键是每一个目录必须在不同的磁盘,不然反而会影响写入性能
ledgerDirectories:当前bookkeeper节点的ledger存放目录

2、在每个部署bookkeeper的机器上,创建bookie所需要目录

mkdir -pv /data/bookkeeper/
mkdir -pv /data/bookkeeper/journal
mkdir -pv /data/bookkeeper/ledgers

3、执行初始化元数据命令,若出现提示,输入Y继续(该步骤只需在一个bookie节点执行一次,总共只需执行一次)

bin/bookkeeper shell metaformat

4、在三台机器上,分别输入以下命令来以后台进程启动bookie

bin/pulsar-daemon start bookie

5、验证是否启动成功

bin/bookkeeper shell bookiesanity
出现Bookie sanity test succeeded则代表启动成功。
如果需要关闭bookkeeper,可使用命令
bin/pulsar-daemon stop bookie

ApachePulsar集群搭建部署详细过程

五、Broker集群搭建

1、在每个部署Broker的机器上,修改broker.conf配置文件,修改如下关键配置项:

zookeeperServers=IP1:2181,IP2:2181,IP3:2181
configurationStoreServers=IP1:2181,IP2:2181,IP3:2181
advertisedAddress=IP1
# clusterName与前面zookeeper初始化的cluster一致
clusterName=pulsar-cluster-zk

注意:
上面的advertisedAddress需要设置为对应机器的ip,而不是全设置为同一个

参数说明:
zookeeperServers:指定zookeeper集群,用来将broker节点的元数据存放在zookeeper集群
configurationStoreServers:多集群部署时管理多个pulsar集群元数据的zookeeper集群地址,单集群部署时可以和zookeeperServers设置一样
advertisedAddress:指定当前节点的主机名或IP地址
clusterName:指定pulsar集群名称

2、在每个部署Broker的机器上,以后台进程启动broker

bin/pulsar-daemon start broker
如果需要关闭broker,可使用命令
bin/pulsar-daemon stop broker

3、查看集群 brokers 节点情况

bin/pulsar-admin brokers list pulsar-cluster

我们的示例部署正常的话,这一步会显示如下结果:

ApachePulsar集群搭建部署详细过程

代表此时集群内有存活的节点: IP1、IP2、IP3,端口号都是8080。到这一步,Pulsar的部署就完成了。

六、docker安装pulsar-dashboard

Pulsar自带 Dashboard,可对broker、bookie、ZooKeeper 集群和topic等进行监控和统计。

1、安装docker

yum install -y docker 
systemctl start docker
systemctl enable docker

2、安装pulsar-dashboard

docker run --name pulsar-dashboard -dit -p 80:80 -e SERVICE_URL=http://PULSARSEVERIP:8080 apachepulsar/pulsar-dashboard

通过浏览器访问docker宿主机IP

ApachePulsar集群搭建部署详细过程

到此这篇关于Apache Pulsar集群搭建的文章就介绍到这了,更多相关Apache Pulsar集群内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Apache Pulsar集群搭建部署详细过程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Apache Pulsar集群搭建部署详细过程

目录一、集群组成说明二、安装前置条件三、ZooKeeper集群搭建四、BookKeeper集群搭建五、Broker集群搭建六、docker安装pulsar-dashboard一、集群组成说明 1、搭建Pulsar集群至少需要3个组件:Zoo
2022-06-05

k8s部署redis集群搭建过程示例详解

这篇文章主要为大家介绍了k8s部署redis集群搭建过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-21

docker 搭建部署 YAPI 框架的详细过程

Yapi是一个高效、易用、功能强大的接口文档管理工具,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 AP,这篇文章主要介绍了docker 搭建部署 YAPI 框架,需要的朋友可以参考下
2022-11-13

Docker中部署Redis集群与部署微服务项目的详细过程

目录一、使用docker部署的好处二、Docker 与 Kubernetes 对比三、Redis集群部署实战四、Spring Boot项目 打包镜像⛵小结一、使用Docker部署的好处Docker的好处在于:在不同实例上运行相同的容器
2022-06-23

docker swarm快速部署redis分布式集群的详细过程

这篇文章主要介绍了docker swarm快速部署redis分布式集群,只需要通过docker-compose.yml文件和一个启动命令就完成redis分布式部署的方式,让其分别部署在不同机器上,并实现集群搭建,需要的朋友可以参考下
2022-11-13

docker搭建es集群实现过程详解

这篇文章主要为大家介绍了docker搭建es集群实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-31

k8s部署redis集群实现过程实例详解

这篇文章主要为大家介绍了k8s部署redis集群实现过程实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-21

Apache Hadoop 2.8 完全分布式集群搭建过程是怎样的

这期内容当中小编将会给大家带来有关Apache Hadoop 2.8 完全分布式集群搭建过程是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。最近在自己的笔记本电脑上搭建了Apache Hadoop分
2023-06-19

编程热搜

目录