Pulsar集群模式安装

Pulsar集群模式安装

官网集群安装

集群模式安装有如下几种部署方式:

  1. 三台节点部署zookeeper,三台节点部署bookie,三台节点部署broker,共需要9台节点。
  2. 三台节点部署zookeeper,三台节点部署bookie和broker,共需要6台节点。
  3. 三台节点部署zookeeper,bookier和broker,共需3台节点。

本文的部署使用第三种方式,即三台节点分别部署zookeeper,bookie和broker。如果机器足够,建议使用第2种部署方式。

Pulsar集群模式部署依次为

  1. 安装zookeeper。
  2. 初始化集群信息。
  3. 安装bookie。
  4. 安装broker。

前期准备

在三台节点上分别执行如下操作。

  1. 安装Java1.8以上的JDK。

  2. 官网下载pulsar的安装包。

    tar -xzvf apache-pulsar-2.7.0-bin.tar.gz -C /home/pulsar
    

Zookeeper安装

  1. 使用自建的zookeeper,可参考zookeeper集群安装,安装之后再三台节点上分别执行启动zookeeper的命令。

  2. 使用Pulsar自带的zookeeper。安装步骤如下:(三个节点上都需要安装)

    • cd /home/pulsar
      vim ./conf/zookeeper.conf
      # ============ 编辑开始 ===============
      # 首先添加如下内容至文件末尾
      server.2 = node2:9010:9011
      server.3 = node3:9010:9011
      server.4 = node4:9010:9011
      
      # 更改文件dataDir的位置。
      dataDir=/app/zookeeper
      # ============ 编辑结束 =================
      
    • 分别在node2、node3、node4的/app/zookeeper的目录下放置文件myid,内容分别为2/3/4

  3. 启动zookeeper(三台均需要执行)

    bin/pulsar-daemon start zookeeper
    

初始化集群信息

# 初始化元数据到zk
./bin/pulsar initialize-cluster-metadata \
  --cluster pulsar-cluster \
  --zookeeper node4:2181 \ 
  --configuration-store node4:2181 \
  --web-service-url http://node4:8080 \
  --web-service-url-tls https://node4:8443 \
  --broker-service-url pulsar://node4:6650 \
  --broker-service-url-tls pulsar+ssl://node4:6651 

注意上边端口的配置,需要和之后的配置保持一致。

部署BookKeeper

  1. 在三个节点上,分别配置如下内容

    zkServers=node2:2181,node3:2181,node4:2181
    advertisedAddress=node2 # 不同节点配置不同的IP
    journalDirectories=/app/bookkeeper/journal
    ledgerDirectories=/app/bookkeeper/ledger
    prometheusStatsHttpPort=8100
    
  2. 创建响应的目录

    mkdir -p /app/bookkeeper/journal
    mkdir -p /app/bookkeeper/ledger
    
  3. 执行初始化元数据命令,(只需在一台节点上执行,共需执行一次)

    bin/bookkeeper shell metaformat
    
  4. 在三台机器上,分别输入如下命令启动bookie:

    # 后台方式启动
    bin/pulsar-daemon start bookie 
    
    # 前台方式启动
    bin/bookkeeper bookie
    
  5. 验证是否启动成功:(三台节点均可执行)

    ./bin/bookkeeper shell bookiesanity
    

    如果成功运行,输出最后一行的结果为:

    org.apache.bookkeeper.bookie.BookieShell - Bookie sanity test succeeded
    

部署Broker

  1. 在每个Broker机器上,配置如下信息:

    # vim conf/broker.conf
    
    zookeeperServers=node2:2181,node3:2181,node4:2181
    configurationStoreServers=node2:2181,node3:2181,node4:2181
    advertisedAddress=node2 ## node3 或者 node4
    #clusterName与前面zookeeper初始化的cluster一致
    clusterName=pulsar-cluster
    
  2. 在每个节点上启动broker。bin/pulsar-daemon start broker,如果需要关闭broker,可使用命令bin/pulsar-daemon stop broker

  3. 查看集群节点情况。

    bin/pulsar-admin brokers list pulsar-cluster
    

    输出结果如下:

    "node2:8090"
    "node3:8090"
    "node4:8080"
    

    如果报错,可能是因为端口被占用,更改端口即可。

    报错信息可以通过如下命令查看(zookeeper和bookie同)。

    cat logs/pulsar-broker-FlinkTest04.log | grep ERROR
    

发布订阅消息

通过启动consumer和producer测试消息是否能传输成功。建议先启动Consumer,再启动Producer。

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"

你可能感兴趣的:(配置,Pulsar,集群,部署)