【问题标题】:Connect to Kafka HDInsight cluster via Azure webapp (Java)通过 Azure webapp (Java) 连接到 Kafka HDInsight 集群
【发布时间】:2018-06-22 10:17:07
【问题描述】:

我正在探索 Azure 相关技术。

  1. 我已经使用 Java 创建了 Azure webapp。
  2. 在 Azure 上创建了 Kafka HDInsight 集群。

如何通过 Azure Java WebApp 连接到 Kafka 集群(参见第 2 点)(参见第 1 点)?

我做的一件事是从 Ambari-UI 中获取主机名来在我的 web 应用程序中配置 Kafka,但它似乎不起作用。

另外如何查看Kafka HDInsight集群中的日志/数据?

Webapp 连接代码:“10.0.0.13:9092”地址取自 Ambari UI

    Properties properties = new Properties();
    String servers = "10.0.0.13:9092";
    properties.put("bootstrap.servers", servers);
    properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
    properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

    kafkaProducer = new KafkaProducer(properties);

【问题讨论】:

  • 请澄清“不工作”。你能显示代码吗?日志?您的 webapp 在某处输出日志数据,但不清楚您是如何运行它的
  • 我为连接添加了代码 sn-p。但是我在webapp上没有看到任何日志

标签: java azure apache-kafka azure-web-app-service azure-hdinsight


【解决方案1】:

HDInsight 不允许通过公共 Internet 直接连接到 Kafka > HDInsight architecture planning. 如果您想使用 Java Web App(在 Tomcat 中),可能的解决方案之一是为 WebApp 配置 VNET 集成 (VPN) 并重新配置 Kafka 以通告代理的 IP 而不是名称,因为 DNS 名称解析无法通过 VPN > Configure Kafka for IP advertising.

附:对于应用服务 Linux 计划(容器),目前不支持 VNET 集成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2016-05-03
    相关资源
    最近更新 更多