我正在使用 Kafka 休息代理,但不是整个 Confluent 平台,只是 Kafka 与我的 Kafka 经纪人休息。但我无法通过以下命令从命令行创建主题。
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test.
我想知道有没有其他的出路。
我正在使用 Kafka 休息代理,但不是整个 Confluent 平台,只是 Kafka 与我的 Kafka 经纪人休息。但我无法通过以下命令从命令行创建主题。
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test.
我想知道有没有其他的出路。
您尝试的命令并不是要与 Kafka 的 REST Proxy Server 交互,而是直接与 Kafka 集群交互。
根据Confluent REST 代理 API 参考,只能使用当前作为预览功能提供的 REST 代理 API v3 创建主题。
“API v3 可用于评估和非生产测试目的或向 Confluent 提供反馈。”
主题创建请求的示例如下所示并在此处记录:
POST /v3/clusters/cluster-1/topics HTTP/1.1
Host: kafkaproxy.example.com
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json
{
"data": {
"attributes": {
"topic_name": "topic-1",
"partitions_count": 2,
"replication_factor": 3,
"configs": [
{
"name": "cleanup.policy",
"value": "compact"
}
]
}
}
}
使用curl
:
curl -X POST -H "Content-Type: application/vnd.api+json" -H "Accept: application/vnd.api+json" \
--data '{"data":{"attributes": {"topic_name": "topic-1", "partitions_count": 2, "replication_factor": 1, "configs": [{"name": "cleanup.policy","value": "compact"}]}}}' \
"http://localhost:8082/v3/clusters/<cluster-id>/topics"
cluster-id
可以使用
curl -X GET -H "Accept: application/vnd.api+json" localhost:8082/v3/clusters