【问题标题】:Deploy C# Storm topologies to a local/on premise Storm cluster将 C# Storm 拓扑部署到本地/本地 Storm 集群
【发布时间】:2018-01-20 09:37:18
【问题描述】:

我需要对从 IOT 传感器(CEP、异常值检测等)获取的数据进行一些数据分析

根据我们的限制,我在互联网上搜索了我可以使用的工具:

  • 我团队中的所有开发人员都是 C# 开发人员
  • 解决方案必须在本地部署

根据我阅读的内容,我发现 Apache Storm 是一个很好的解决方案,我们可以通过安装 azure 数据湖工具,在 Visual Studio 中使用 c# 开发 spout、bolts。

我安装了所有东西并开始开发一个简单的拓扑。问题是似乎只能将拓扑部署到 Azure HD Insights

我的问题:是否可以将 c# 拓扑部署到不在 Azure 中的风暴集群?我想提交以将我的拓扑提交到 Storm docker 映像。

【问题讨论】:

    标签: c# apache-storm azure-data-lake stream-analytics


    【解决方案1】:

    这绝对是可能的。我一直没能找到 Azure 数据湖工具的源代码(可能它不是开源的?),但是关于如何用其他语言实现 Storm 拓扑的参考在这里http://storm.apache.org/releases/2.0.0-SNAPSHOT/Multilang-protocol.html

    这里有一个如何实现多语言拓扑的示例https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/WordCountTopology.java,它在 Python 中实现了它的一个螺栓。您可能会注意到该类的顶部有一个 ShellBolt,它调用了一个 python 文件。 python 文件包含bolt 实现https://github.com/apache/storm/blob/master/examples/storm-starter/multilang/resources/splitsentence.py,这里使用了Python 的Storm 多语言实现https://github.com/apache/storm/blob/master/storm-multilang/python/src/main/resources/resources/storm.py

    可悲的是,Storm 仅附带 Python、Javascript 和 Ruby 的包装器,但您可以自己编写(如果结果良好,可以将其贡献回项目)?

    如果您不想实现自己的包装器,可以快速 google 一下 https://github.com/ziyunhx/storm-net-adapter,我还没有尝试过,但可能值得一试?

    您还可以要求微软开源数据湖工具,或者至少为在非 Azure 集群上运行提供支持。他们的工具很可能包含 Storm 的多语言包装器。

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 2018-04-22
      • 2019-07-18
      • 1970-01-01
      相关资源
      最近更新 更多