Pulsar管理接口允许你管理一个Pulsar实例的所有重要实体,比如tenants,topics,和namespaces。
目前你可以通过以下方式使用管理接口:
- 使用HTTP调用Pulsar broker提供的管理 REST API。 有些restful api可能被
307重定向
到主题所有者的borker,因此HTTP调用者须要能够处理307重定向
。 如果您使用的是curl
, 则应指定-L
来处理重定向。 pulsar-admin
CLI工具,它在Pulsar安装目录的bin
文件夹中:
$ bin/pulsar-admin
这个工具的完整文档你可以在Pulsar 命令行工具中找到。
- Java客户端接口。
REST API是管理接口
实际上,
pulsar-admin
CLI工具和Java客户端都是用 REST API。 如果你想实现自己的管理接口客户端,你也应该使用REST API。 文档可以在下方找到:
在本文档中,将展示三个可用接口中的每一个的示例。
管理设置
Pulsar的三种接口REST [`pulsar-admin<0>CLI工具,java管理API,REST API 中的每一种—-需要一些特殊的设置,如果你在Pulsar 实例中开启了身份认证。
pulsar-admin
如果启用了 身份验证, 则需要提供一个授权配置以使用 `pulsar-admin
工具。 默认情况下,pulsar-admin
的配置文件在conf/client.conf
](/docs/zh-CN/2.3.2/reference-configuration#client)文件中。 以下是可用参数:``
Name | Description | 默认值 |
---|---|---|
webServiceUrl | 群集的 web URL。 | http://localhost:8080/ |
brokerServiceUrl | 集群的Pulsar 协议地址。 | pulsar://localhost:6650/ |
authPlugin | 身份认证插件。 | |
authParams | 群集的身份认证参数, 逗号分隔的字符串。 | |
useTls | 是否在群集中强制执行 TLS 验证。 | false |
tlsAllowInsecureConnection | 从客户端接受不受信任的 TLS 证书。 | false |
tlsTrustCertsFilePath | 受信任的 TLS 证书文件的路径。 |
您可以在此document 参考文档中找到Pulsar broker暴露的REST API的文档。
Java 管理客户端
要使用 Java 管理 API, 请实例化一个 PulsarAdmin 对象, 指定Pulsar brokerURL 和 ClientConfiguration 。 下面是一个使用 localhost
的最小示例:
``` URL url = new URL(“http://localhost:8080“); // 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;
ClientConfiguration config = new ClientConfiguration(); config.setAuthentication(authPluginClassName, authParams); config.setUseTls(useTls); config.setTlsAllowInsecureConnection(tlsAllowInsecureConnection); config.setTlsTrustCertsFilePath(tlsTrustCertsFilePath);
PulsarAdmin admin = new PulsarAdmin(url, config);
`