管理集群的方式有以下几种:
- 工具的 命令
/admin/v2/clusters
admin REST API 终端- 中 PulsarAdmin 对象的
clusters
方法
可以通过 admin 接口提供新集群。
pulsar-admin
可以使用 create
子命令设置新的集群。如下所示:
REST API
PUT /admin/v2/clusters/:cluster
Java
ClusterData clusterData = new ClusterData(
serviceUrl,
serviceUrlTls,
brokerServiceUrl,
brokerServiceUrlTls
);
admin.clusters().createCluster(clusterName, clusterData);
初始化集群元数据
在准备新集群时,需要初始化集群的。 初始化集群元数据需要指定以下内容:
- 集群名称
- 集群与本地 ZooKeeper 连接的字符串
- The configuration store connection string for the entire instance
- 集群 web 服务的 URL
- Broker 服务的 URL,用于启动集群中 broker 之间的交互
必须在启动集群中的 前初始化集群元数据。
不能通过 REST API 或者 Java admin API 初始化集群元数据。
集群元数据初始化命令示例如下:
bin/pulsar initialize-cluster-metadata \
--cluster us-west \
--zookeeper zk1.us-west.example.com:2181 \
--web-service-url http://pulsar.us-west.example.com:8080/ \
--web-service-url-tls https://pulsar.us-west.example.com:8443/ \
--broker-service-url-tls pulsar+ssl://pulsar.us-west.example.com:6651/
在实例中使用 时,只需使用 --*-tls
参数。
可以随时获取现有集群的配置。
pulsar-admin
使用 get
子命令并指定集群的名称。如下所示:
$ pulsar-admin clusters get cluster-1
{
"serviceUrl": "http://my-cluster.org.com:8080/",
"serviceUrlTls": null,
"brokerServiceUrl": "pulsar://my-cluster.org.com:6650/",
"brokerServiceUrlTls": null
"peerClusterNames": null
}
REST API
GET /admin/v2/clusters/:cluster
Java
更新
可以随时更新现有集群的配置。
pulsar-admin
使用 update
子命令并使用参数指定新配置值。
$ pulsar-admin clusters update cluster-1 \
--broker-url pulsar://my-cluster.org.com:3350
REST
Java
ClusterData clusterData = new ClusterData(
serviceUrl,
serviceUrlTls,
brokerServiceUrl,
brokerServiceUrlTls
);
admin.clusters().updateCluster(clusterName, clusterData);
可以从 Pulsar 中删除集群。
pulsar-admin
使用 子命令并指定集群名称。
$ pulsar-admin clusters delete cluster-1
REST API
Java
获取资源列表
可以获取 Pulsar 实例中的所有集群。
pulsar-admin
使用 list
子命令。
$ pulsar-admin clusters list
cluster-1
cluster-2
REST API
Java
在 Pulsar 实例中,可以为给定集群配置 peer-cluster。