目前你可以通过以下方式使用管理接口:

  • 使用HTTP调用Pulsar broker提供的管理 API。 For some restful apis, they might be redirected to topic owner brokers for serving with , hence the HTTP callers should handle 307 Temporary Redirect. If you are using curl, you should specify -L to handle redirections.
  • pulsar-admin CLI工具,它在目录的bin文件夹中:

这个工具的完整文档你可以在Pulsar 命令行工具中找到。

  • Java客户端接口。

Pulsar的三种接口 [`pulsar-admin<0>CLI工具,java管理API, API 中的每一种—-需要一些特殊的设置,如果你在Pulsar 实例中开启了。

如果启用了 身份验证, 则需要提供一个授权配置以使用 工具。 默认情况下,的配置文件在conf/client.conf](/docs/zh-CN/2.5.2/reference-configuration#client)文件中。 以下是可用参数:``

``### REST API

Java 管理客户端

要使用 Java 管理 API,需实例化一个 PulsarAdmin 对象,为 Pulsar 和 ClientConfiguration 指定一个URL。 下面是一个使用 localhost 的最小示例:

  1. // Pass auth-plugin class fully-qualified name if Pulsar-security enabled
  2. String authPluginClassName = "com.org.MyAuthPluginClass";
  3. // Pass auth-param if auth-plugin class requires it
  4. String authParams = "param1=value1";
  5. boolean tlsAllowInsecureConnection = false;
  6. PulsarAdmin admin = PulsarAdmin.builder()
  7. .authentication(authPluginClassName,authParams)
  8. .serviceHttpUrl(url)
  9. .tlsTrustCertsFilePath(tlsTrustCertsFilePath)
  10. .allowTlsInsecureConnection(tlsAllowInsecureConnection)

If you have multiple brokers to use, you can use multi-host like Pulsar service. For example,

String url = "http://localhost:8080,localhost:8081,localhost:8082"; // Pass auth-plugin class fully-qualified name if Pulsar-security enabled String authPluginClassName = "com.org.MyAuthPluginClass"; // Pass auth-param if auth-plugin class requires it String authParams = "param1=value1"; boolean useTls = false; boolean tlsAllowInsecureConnection = false; String tlsTrustCertsFilePath = null; PulsarAdmin admin = PulsarAdmin.builder() .authentication(authPluginClassName,authParams) .serviceHttpUrl(url) .tlsTrustCertsFilePath(tlsTrustCertsFilePath) .allowTlsInsecureConnection(tlsAllowInsecureConnection) .build(); ``