如何高效搭建Apache Pulsar分布式集群?

2026-05-21 02:024阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计805个文字,预计阅读时间需要4分钟。

如何高效搭建Apache Pulsar分布式集群?

一、集群组成说明

1.集群搭建Pulsar集群至少需要3个组件:

- ZooKeeper集群(3个ZooKeeper节点组成) - BookKeeper集群 - Broker集群(Broker是Pulsar的核心组件,本身也是一个实例)

二、集群组件说明

1.ZooKeeper集群(3个ZooKeeper节点组成)

2.BookKeeper集群

3.Broker集群(Broker实例)

一、集群组成说明

  • 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安装包,pulsar.apache.org/download/,上传至3台服务器。

三、ZooKeeper集群搭建

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

1、解压Pulsar安装包

切换到根目录:$ 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节点的机器上,新建如下文件目录:

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 IP1:8080,IP2:8080,IP3:8080 \ --web-service-url-tls 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 HOSTNAMEIP:8080 \ --web-service-url-tls 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替代PULSARSEVERIP:8080 apachepulsar/pulsar-dashboard

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

如何高效搭建Apache Pulsar分布式集群?

参考: blog.csdn.net/weixin_44917045/article/details/122811257

www.zhangshengrong.com/p/On1vqbP0Xy/

本文共计805个文字,预计阅读时间需要4分钟。

如何高效搭建Apache Pulsar分布式集群?

一、集群组成说明

1.集群搭建Pulsar集群至少需要3个组件:

- ZooKeeper集群(3个ZooKeeper节点组成) - BookKeeper集群 - Broker集群(Broker是Pulsar的核心组件,本身也是一个实例)

二、集群组件说明

1.ZooKeeper集群(3个ZooKeeper节点组成)

2.BookKeeper集群

3.Broker集群(Broker实例)

一、集群组成说明

  • 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安装包,pulsar.apache.org/download/,上传至3台服务器。

三、ZooKeeper集群搭建

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

1、解压Pulsar安装包

切换到根目录:$ 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节点的机器上,新建如下文件目录:

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 IP1:8080,IP2:8080,IP3:8080 \ --web-service-url-tls 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 HOSTNAMEIP:8080 \ --web-service-url-tls 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替代PULSARSEVERIP:8080 apachepulsar/pulsar-dashboard

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

如何高效搭建Apache Pulsar分布式集群?

参考: blog.csdn.net/weixin_44917045/article/details/122811257

www.zhangshengrong.com/p/On1vqbP0Xy/