• advertisedAddress 修改为服务器对应的ip,在另外两台服务器也做对应的修改
    advertisedAddress=10.10.195.57
  • http://pulsar.cluster.com:8080 pulsar-cluster
    # 创建租户(租户名:my-tenant)
    /home/pulsar/bin/pulsar-admin tenants create my-tenant
    # 创建命名空间(命名空间名:my-tenant/my-namespace,它指定了租户my-tenant)
    /home/pulsar/bin/pulsar-admin namespaces create my-tenant/my-namespace
    # 创建持久性分区topic(topic全名:persistent://my-tenant/my-namespace/my-topic;分区数为 3)
    /home/pulsar/bin/pulsar-admin topics create-partitioned-topic persistent://my-tenant/my-namespace/my-topic -p 3
    # 更新命名空间为其指定集群名
    /home/pulsar/bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace —clusters pulsar-cluster">创建集群(集群名:pulsar-cluster)
    /home/pulsar/bin/pulsar-admin clusters create —url http://pulsar.cluster.com:8080 pulsar-cluster
    # 创建租户(租户名:my-tenant)
    /home/pulsar/bin/pulsar-admin tenants create my-tenant
    # 创建命名空间(命名空间名:my-tenant/my-namespace,它指定了租户my-tenant)
    /home/pulsar/bin/pulsar-admin namespaces create my-tenant/my-namespace
    # 创建持久性分区topic(topic全名:persistent://my-tenant/my-namespace/my-topic;分区数为 3)
    /home/pulsar/bin/pulsar-admin topics create-partitioned-topic persistent://my-tenant/my-namespace/my-topic -p 3
    # 更新命名空间为其指定集群名
    /home/pulsar/bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace —clusters pulsar-cluster

    1、解压缩:

    tar -xvf apache-pulsar-2.4.1-bin.tar -C /home

    2、配置zookeeper:
    创建数据目录:
    mkdir -p /home/pulsar/data/zookeeper

    创建ID文件:
    echo 1 > /home/pulsar/data/zookeeper/myid

    配置zookeeper:
    vim /home/pulsar/conf/zookeeper.conf

    dataDir=/home/pulsar/data/zookeeper
    server.1=10.10.195.57:2888:3888
    server.2=10.10.195.58:2888:3888
    server.3=10.10.195.59:2888:3888

    3、配置bookkeeper:

    mkdir -p /home/pulsar/data/bookkeeper/journal
    mkdir -p /home/pulsar/data/bookkeeper/ledgers

    vim /home/pulsar/conf/bookkeeper.conf

    advertisedAddress 修改为服务器对应的ip,在另外两台服务器也做对应的修改
    advertisedAddress=10.10.195.57

    journalDirectories=/home/pulsar/data/bookkeeper/journal
    ledgerDirectories=/home/pulsar/data/bookkeeper/ledgerss

    zkServers=10.10.195.57:2181,10.10.195.58:2181,10.10.195.59:2181

    4、配置pulsar:

    vim /home/pulsar/conf/broker.conf

    clusterName=pulsar-cluster

    zookeeperServers=10.10.195.57:2181,10.10.195.58:2181,10.10.195.59:2181
    configurationStoreServers=10.10.195.57:2181,10.10.195.58:2181,10.10.195.59:2181
    # 修改如下参数为本服务器ip地址,另外两个 broker 节点配置文件也做对应修改
    advertisedAddress=10.10.195.57

    5、数据分发并修改配置:

    scp -r /home/pulsar 10.10.195.58:/home
    scp -r /home/pulsar 10.10.195.59:/home
    scp -r /home/pulsar 10.10.195.60:/home

    10.10.195.58:
    echo 2 > /home/pulsar/data/zookeeper/myid

    vim /home/pulsar/conf/bookkeeper.conf
    advertisedAddress=10.10.195.58

    vim /home/pulsar/conf/broker.conf
    advertisedAddress=10.10.195.58

    10.10.195.59:
    echo 3 > /home/pulsar/data/zookeeper/myid

    vim /home/pulsar/conf/bookkeeper.conf
    advertisedAddress=10.10.195.59

    vim /home/pulsar/conf/broker.conf
    advertisedAddress=10.10.195.59

    10.10.195.60:
    vim /home/pulsar/conf/bookkeeper.conf
    advertisedAddress=10.10.195.60

    vim /home/pulsar/conf/broker.conf
    advertisedAddress=10.10.195.60

    6、启动与初始化:
    启动zookeeper:
    在57、58、59上执行
    /home/pulsar/bin/pulsar-daemon start zookeeper

    验证zookeeper:
    /home/pulsar/bin/pulsar zookeeper-shell

    初始化集群元数据:
    在一个节点上执行:
    /home/pulsar/bin/pulsar initialize-cluster-metadata \
    —cluster pulsar-cluster \
    —zookeeper 10.10.195.57:2181 \
    —configuration-store 10.10.195.57:2181 \
    —web-service-url http://pulsar.cluster.com:8080 \
    —web-service-url-tls https://pulsar.cluster.com:8443 \
    —broker-service-url pulsar://pulsar.cluster.com:6650 \
    —broker-service-url-tls pulsar+ssl://pulsar.cluster.com:6651

    验证:
    /home/pulsar/bin/pulsar zookeeper-shell
    ls /

    初始化bookkeeper:
    在一个节点上执行:
    /home/pulsar/bin/bookkeeper shell metaformat
    提示:Are you sure to format bookkeeper metadata? This may cause data loss. (Y or N)
    输入Y

    启动bookkeeper:
    在所有节点上执行:
    /home/pulsar/bin/pulsar-daemon start bookie
    /home/pulsar/bin/pulsar-daemon stop bookie

    验证:
    /home/pulsar/bin/bookkeeper shell bookiesanity
    或者:
    jps检查进程:BookieServer

    启动broker:
    /home/pulsar/bin/pulsar-daemon start broker
    验证:
    /home/pulsar/bin/pulsar-admin brokers list pulsar-cluster

    创建集群(集群名:pulsar-cluster)
    /home/pulsar/bin/pulsar-admin clusters create —url http://pulsar.cluster.com:8080 pulsar-cluster
    # 创建租户(租户名:my-tenant)
    /home/pulsar/bin/pulsar-admin tenants create my-tenant
    # 创建命名空间(命名空间名:my-tenant/my-namespace,它指定了租户my-tenant)
    /home/pulsar/bin/pulsar-admin namespaces create my-tenant/my-namespace
    # 创建持久性分区topic(topic全名:persistent://my-tenant/my-namespace/my-topic;分区数为 3)
    /home/pulsar/bin/pulsar-admin topics create-partitioned-topic persistent://my-tenant/my-namespace/my-topic -p 3
    # 更新命名空间为其指定集群名
    /home/pulsar/bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace —clusters pulsar-cluster

    常见问题:
    ERROR org.apache.bookkeeper.client.LedgerHandle - Closing ledger 7 due to NotEnoughBookiesException: Not enough non-faulty bookies available
    解决方法:bookkeeper.conf,修改如下内容:
    prometheusStatsHttpPort=8050