Managing Clusters

    管理集群的方式有以下几种:

    • 工具的 命令
    • /admin/v2/clusters admin REST API 终端

    可以通过 admin 接口提供新集群。

    pulsar-admin

    REST API

    JAVA

    You can provision a new cluster using the subcommand. 下面是一个示例:

    PUT /admin/v2/clusters/:cluster

    1. ClusterData clusterData = new ClusterData( serviceUrl, serviceUrlTls, brokerServiceUrl, brokerServiceUrlTls);admin.clusters().createCluster(clusterName, clusterData);

    初始化集群元数据

    在准备新集群时,需要初始化集群的元数据。 初始化集群元数据需要指定以下内容:

    • 集群名称
    • 集群与本地 ZooKeeper 连接的字符串
    • 整个集群实例的配置存储连接字符串。
    • 集群 web 服务的 URL
    • Broker 服务的 URL,用于启动集群中 之间的交互

    You must initialize cluster metadata before starting up any brokers that will belong to the cluster.

    不能通过 REST API 或者 Java admin API 初始化集群元数据。

    与 Pulsar 的其他管理功能不同的是,不能通过 admin REST API 或 admin Java 客户端初始化集群元数据。 但是可以使用 CLI 执行 initialize-cluster-metadata命令。

    集群元数据初始化命令示例如下:

    1. bin/pulsar initialize-cluster-metadata \
    2. --zookeeper zk1.us-west.example.com:2181 \
    3. --configuration-store zk1.us-west.example.com:2184 \
    4. --web-service-url-tls https://pulsar.us-west.example.com:8443/ \
    5. --broker-service-url pulsar://pulsar.us-west.example.com:6650/ \
    6. --broker-service-url-tls pulsar+ssl://pulsar.us-west.example.com:6651/

    在实例中使用 时,只需使用 --*-tls 参数。

    pulsar-admin

    REST API

    JAVA

    Use the get subcommand and specify the name of the cluster. 下面是一个示例:

    更新

    可以随时更新现有集群的配置。

    pulsar-admin

    REST API

    JAVA

    使用 子命令并使用参数指定新配置值。

    1. $ pulsar-admin clusters update cluster-1 \ --url http://my-cluster.org.com:4081 \ --broker-url pulsar://my-cluster.org.com:3350

    POST /admin/v2/clusters/:cluster

    1. ClusterData clusterData = new ClusterData( serviceUrl, serviceUrlTls, brokerServiceUrl, brokerServiceUrlTls);admin.clusters().updateCluster(clusterName, clusterData);

    可以从 Pulsar 中删除集群。

    pulsar-admin

    REST API

    使用 delete 子命令并指定集群名称。

    1. $ pulsar-admin clusters delete cluster-1

    获取资源列表

    可以获取 Pulsar 中的所有集群。

    pulsar-admin

    REST API

    JAVA

    使用 list 子命令。

    1. $ pulsar-admin clusters listcluster-1cluster-2

    1. admin.clusters().getClusters();

    在 Pulsar 实例中,可以为给定集群配置 peer-cluster。

    pulsar-admin

    REST API

    JAVA

    使用 子命令并指定 peer-cluster 名称。

    1. $ pulsar-admin update-peer-clusters cluster-1 --peer-clusters cluster-2

    POST /admin/v2/clusters/:cluster/peers