Pulsar集群安装部署文档

EMQX 企业版技术支持发表于:2022年03月01日 11:12:52更新于:2022年03月02日 09:17:42

一、准备资源

1、3台主机,系统centOS7.8,配置8C16G

2、JDK8运行环境

3、Pulsar安装包

二、集群说明

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

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

    bookie集群(也称为BookKeeper集群。3个BookKeeper节点组成)

    broker集群(3个Pulsar节点组成,broker是Pulsar的自身实例)

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

  3. 3台Linux服务器IP分别为10.206.0.86、10.206.0.61和10.206.0.69

三、安装JDK

在3台Linux裸机服务器上分别安装JDK(要求版本不低于JDK8)

  1. 官网或者其他途径下载jdk安装包

  2. 解压安装包

    image.png


  3. 将解压包拷贝到/usr/java下

    $ sudo mkdir -p /usr/java

    $ cp -r jdk1.8.0_161 /usr/java/

    image.png

  4. 添加环境变量

    在/etc/profile 文件最后添加变量

    export JAVA_HOME=/usr/java/jdk1.8.0_161

    export JRE_HOME=${JAVA_HOME}/jre

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH

    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

    export PATH=$PATH:${JAVA_PATH}

    image.png

  5. 设置配置文件生效

    source /etc/profile

    java -version

    image.png

四、安装pulsar

  1. 下载pulsar安装包

    在官网https://pulsar.apache.org/download/ 下载安装包:

    image.png

  2. 上传1台服务器并解压

    $ tar -xvf apache-pulsar-2.8.1-bin.tar.gz

    image.png

  3. 配置部署zookeeper集群

    (1)新建文件夹并写入配置

    服务器1:

    新建data/zookeeper目录和log/zookeeper目录

    $ mkdir -p data/zookeeper

    $ mkdir -p log/zookeeper

    新建文件myid,写入1

    echo 1 > data/zookeeper/myid

    image.png

    服务器2:

    新建data/zookeeper目录和log/zookeeper目录

    $ mkdir -p data/zookeeper

    $ mkdir -p log/zookeeper

    新建文件myid,写入 2

    echo 2 > data/zookeeper/myid

    image.png

    服务器3:

    新建data/zooker目录和log/zookeeper目录

    mkdir -p data/zookeeper

    mkdir -p log/zookeeper

    新建文件myid,写入 3

    echo 3 > data/zookeeper/myid

    image.png

    (2)配置zookeeper.conf文件

    进入服务器1的pulsar解压目录的配置文件进行修改zookeeper.conf文件

    image.png

    修改内容:

    dataDir=/root/data/zookeeper

    dataLofdir=/root/log/zookeeper

    image.png

    添加zookeeper集群地址:

    server.1=10.206.0.86:2888:3888

    server.2=10.206.0.61:2888:3888

    server.3=10.206.0.69:2888:3888

    image.png

    将整个安装目录拷贝到服务器2和3上;保证zookeeper的配置文件完全相同。

    (3)启动zookeeper并验证启动成功

    3台服务器上都需要执行

    进入pulsar的目录

    cd apache-pulsar-2.8.1/

    执行后台运行命令:

    ./bin/pulsar-daemon start zookeeper

    3台都执行后台运行后,任意一台执行zookeeper客户端连接命令

    ./bin/pulsar zookeeper-shell

    image.png

    查看到结果如下图则成功:

    image.png

    (4)在任意一个zookeeper节点初始化集群元数据(不需要每台都执行

    进入pulsar目录,并执行一下命令:

    ./bin/pulsar initialize-cluster-metadata \

    --cluster pulsar-cluster \

    --zookeeper 10.206.0.86:2181 \

    --configuration-store 10.206.0.86:2181 \

    --web-service-url http://pulsar.cluster.com:8080 \

    --web-service-url-tls https://pulsar.cluster.com:8443 \

    --broker-service-url pulsar://http://pulsar.cluster.com:6650 \

    --broker-service-url-tls pulsar+ssl://http://pulsar.cluster.com:6651

    image.png

    (5)查看zookeeper配置是否成功

    任意一台执行zookeeper客户端连接命令:

    ./bin/pulsar zookeeper-shell

    连接成功后,Enter键,使用ZooKeeper命令查看ls /,结果如图则配置成功:

    image.png

  4. 配置部署bookkeeper集群

    (1)创建bookie所需要目录

    3台服务器都需要搭建

    mkdir -p /root/data/bookkeeper/journal

    mkdir -p /root/data/bookkeeper/ledgers

    image.png

    (2)修改3台服务器pulsar目录下的conf/bookkeeper.conf文件

    服务器1:

    advertisedAddress=10.206.0.86

    zkServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    journalDirectory=/root/data/bookkeeper/journal

    ledgerDirectories=/root/data/bookkeeper/ledgers

    服务器2:

    advertisedAddress=10.206.0.61

    zkServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    journalDirectory=/root/data/bookkeeper/journal

    ledgerDirectories=/root/data/bookkeeper/ledgers

    服务器3:

    advertisedAddress=10.206.0.69

    zkServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    journalDirectory=/root/data/bookkeeper/journal

    ledgerDirectories=/root/data/bookkeeper/ledgers

    (3)初始化元数据,并启动bookie集群

    1台服务器上执行初始化元数据命令(只需要1台机器上执行

    ./bin/bookkeeper shell metaformat

    image.png

    出现提示,输入Y:

    image.png

    3台服务器上分别后台进程启动bookie:

    ./bin/pulsar-daemon start bookie

    image.png

    验证是否启动成功

    ./bin/bookkeeper shell bookiesanity

    image.png

  5. 配置部署broker集群

    (1)修改配置文件broker.conf

    服务器1:

    zookeeperServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    configurationStoreServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    advertisedAddress=10.206.0.86

    clusterName=pulsar-cluster   #ZooKeeper 里初始化元数据时指定的集群名(--cluster pulsar-cluster)相同clusterName=pulsar-cluster

    服务器2:

    zookeeperServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    configurationStoreServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    advertisedAddress=10.206.0.61

    clusterName=pulsar-cluster   #ZooKeeper 里初始化元数据时指定的集群名(--cluster pulsar-cluster)相同clusterName=pulsar-cluster

    服务器3:

    zookeeperServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    configurationStoreServers=10.206.0.86:2181,10.206.0.61:2181,10.206.0.69:2181

    advertisedAddress=10.206.0.69

    clusterName=pulsar-cluster   #ZooKeeper 里初始化元数据时指定的集群名(--cluster pulsar-cluster)相同clusterName=pulsar-cluster

    (2)启动broker

    3台服务器分别以后台程序启动broker

    ./bin/pulsar-daemon start broker

    image.png

    查看集群broker节点

    bin/pulsar-admin brokers list pulsar-cluster

    image.png

五、启停操作

分zookeeper,bookkeeper,broker 3个组件;每个组件3台都是需要执行的。

启动顺序:zookeeper->bookkeeper->broker。

停止顺序:borker->bookkeeper->zookeeper。


Bookkeeper启动命令:bin/pulsar-daemon start bookie

Bookkeeper停止命令:bin/pulsar-daemon stop bookie

Broker启动命令:bin/pulsar-daemon start broker

Broker停止命令:bin/pulsar-daemon stop broker









    您需要登录后才可以回复