我按照本教程设置了apache pulsar:https://pulsar.apache.org/docs/3.0.x/deploy-aws/但我在教程中使用aws ansible动态清单而不是terraform清单。问题是一旦我运行以下代码
import org.apache.pulsar.client.api.*;
public class test {
public static void main(String[] args) throws PulsarClientException {
PulsarClient client = PulsarClient.builder()
.serviceUrl(<my pulsar web url>)
.build();
Producer<String> producer = client.newProducer(Schema.STRING)
.topic("my-topic")
.create();
producer.newMessage()
.value("HelloWorld")
.send();
producer.close();
client.close();
}
}
弹出以下错误:
10:17:35.419 [pulsar-client-io-1-7] 调试 org.apache.pulsar.client.impl.ClientCnx - [id: 0x7b3029f5, L:/192.168.1.78:52743 - R:] 连接到代理 10:17:35.421 [pulsar-client-io-1-7] 调试 org.apache.pulsar.client.impl.ClientCnx - 完整:true 10:17:35.604 [pulsar-client-io-1-7] DEBUG org.apache.pulsar.client.impl.ConnectionPool - 从池中删除关闭的连接:AbstractChannel$CloseFuture@3aac5716(成功) 10:17:35.604 [pulsar-client-io-1-7] 信息 org.apache.pulsar.client.impl.ClientCnx - [id: 0x7b3029f5,L:/192.168.1.78:52743 ! R:] 已断开连接 10:17:35.605 [pulsar-client-io-1-7] 警告 org.apache.pulsar.client.impl.ConnectionPool - [[id: 0x7b3029f5,L:/192.168.1.78:52743 ! R:]] 连接握手失败:org.apache.pulsar.client.api.PulsarClientException:连接已关闭 10:17:35.994 [pulsar-client-scheduled-30-1] WARN org.apache.pulsar.client.impl.PulsarClientImpl - [主题: permanent://public/default/test-topic] 在 getPartitionedTopicMetadata 时无法获取连接 - 将在 384 毫秒内重试
这些消息块会永远重复。出于隐私目的,我故意删除/隐藏我的 pulsar 网址。我尝试禁用防火墙,但它无法解决该错误。有谁知道问题出在哪里以及我该如何解决它们?我对 apache pulsar 很陌生,所以提前谢谢你......
堆栈跟踪中的
Connection handshake failed
消息往往表明 TLS 连接存在问题。
您的 Pulsar 集群是否受到任何保护?您正在连接到
pulsar://<IP>:6650
或 pulsar+ssl://<IP>:6651
吗?