Tom*_*Tom 8 amazon-web-services apache-kafka
我正在 AWS MSK 上设置托管 kafka 队列。从本地计算机连接时,我似乎无法使安全性发挥作用,而且我无法确定是否可以使用从一个区域到另一个区域的安全组。
我已经浏览了此处的主要文档中有关设置安全组的信息。不过,我似乎仍然无法连接到代理。我目前正在通过以下方式使用本地机器上的 kafka 脚本:
bin/kafka-console-producer.sh --broker-list "my-broker-ip:9092" --topic "some-topic"
Run Code Online (Sandbox Code Playgroud)
但不断得到结果
[2019-01-28 12:06:13,278] WARN [Producer clientId=console-producer] Connection to node -1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
Run Code Online (Sandbox Code Playgroud)
我已将我的本地 IP 与我在 VPC 中设置并与 kafka 队列关联的安全组上的所有端口相关联,但似乎没有帮助。我也不知道如何将我的盒子与 kafka 队列相关联,因为它们位于不同的区域。这可能吗?
我目前正在通过以下方式使用本地机器上的 kafka 脚本:
bin/kafka-console-producer.sh --broker-list "my-broker-ip:9092" --topic "some-topic"
但不断得到结果
[2019-01-28 12:06:13,278] WARN [Producer clientId=console-producer] 无法建立到节点 -1 的连接。经纪人可能不可用。(org.apache.kafka.clients.NetworkClient)
我已将我的本地 IP 与我在 VPC 中设置并与 kafka 队列关联的安全组上的所有端口相关联,但似乎没有帮助。我也不知道如何将我的盒子与 kafka 队列相关联,因为它们位于不同的区域。这可能吗?
我希望能够将我的本地生产者代码连接到 kafka 队列并观察输出,而不是让它不断拒绝连接。
正如@Robin 所提到的,您无法使用 kafka 客户端或 kafka 流直接从本地机器访问 MSK。因为代理 url、zookeeper 连接字符串是 msk 集群 vpc/子网的私有 ip。通过kafka客户端访问,需要在MsK的同一个vpc中启动ec2实例,并执行kafka client(producer/consumer)访问msk集群。
但是你可以设置Confluent开源的kafka Rest Proxy框架,通过rest api从外界访问MSK集群。该框架是成熟的kafka客户端,并不允许kafka客户端的所有操作,但是您可以在集群上进行大部分操作,从获取集群元数据、主题信息、生产和消费消息等开始。
我已经详细回答了这个场景以及其他一些与 MSK 相关的问题,请参考-
Amazon Managed Streaming for Kafka-MSK 功能和性能
归档时间: |
|
查看次数: |
8124 次 |
最近记录: |