apache-storm相关内容
我在 Storm 中使用 log4j 登录到文件时遇到了一些问题. 在提交我的拓扑之前,即在我的主要方法中,我写了一些日志语句并使用: PropertyConfigurator.configure(myLog4jProperties) 现在,当我在 Eclipse 中使用 可执行 jar 运行拓扑时 -它的工作正常,并且正在按预期创建日志文件. 或 当我使用“java -jar My
..
我的要求是 将数据从 Oracle 移动到 HDFS 处理 HDFS 上的数据 将处理后的数据移至 Teradata. 还需要每 15 分钟进行一次整个处理.源数据量可能接近50GB,处理后的数据也可能相同. 在网上搜索了很多,我发现 ORAOOP 将数据从 Oracle 移动到 HDFS(将代码与 shell 脚本一起并安排它以所需的时间间隔运行). 通过自定义 M
..
按照storm-starter repo 中的指南进行操作时,我实际上无法运行任何拓扑 - 就像 ExclamationTopology. mvn clean install -DskipTests=true 成功运行,从顶级 Storm 仓库执行,storm-examples 中的 mvn package 也是如此> 水平. 当我尝试运行 storm jar target/storm
..
我的拓扑有一两个瓶颈.Storm UI 中的容量指标对于识别这些非常有用,但我对 Bolt 队列的大小更感兴趣. 我的理解是每个 bolt 有两个队列,一个用于待执行的元组,另一个用于待发出的元组.是否可以监控这些队列的大小? 我在网上找到了一些关于向 Bolts 添加 ITaskHook 实现的内容,但目前还不清楚如何使用它来监控队列大小.可以使用 ITaskHook 中的方法来监控
..
风暴文档中提到,风暴重放处理已超时的元组.我的问题是,风暴是否自动执行此操作(没有在原始 spout 上调用 fail()),或者这是否是原始 spout 重放元组的责任(调用 fail() 并且重放应该在内部甚至外部的某个地方实现))? 解决方案 为了在超时时正确重放,您必须在从 spout 发出元组时使用 id 锚定元组.当超时发生时,您用作锚点的任何内容都将返回到失败方法 (fail
..
我们需要在创建拓扑时传递一个对象,以便螺栓可以访问它并基于该对象进行一些进一步的处理.是否可以通过 TopplogyContext 传递对象,如果是,如何传递?或者在提交拓扑时还有其他方法可以在提交之前传递对象,以便螺栓可以对其进行处理/控制? 我们需要通过上下文传递对象,以便所有螺栓都可以访问它,并且不需要在该拓扑的所有螺栓中强制实现构造函数.那么,想知道是否有任何 API 可以做到这一点
..
我正在尝试在多个 spout 之间共享任务.我有一种情况,我一次从外部来源获取一个元组/消息,并且我想要一个 spout 的多个实例,背后的主要目的是共享负载并提高性能效率. 我可以用一个 Spout 本身做同样的事情,但我想在多个 Spout 之间分担负载.我无法获得分散负载的逻辑.因为直到特定的 spout 完成消耗部分(即基于缓冲区大小设置)才会知道消息的偏移量. 任何人都可以对
..
您如何为风暴拓扑提供自定义配置?例如,如果我构建了一个连接到 MySQL 集群的拓扑,并且我希望能够在不重新编译的情况下更改我需要连接的服务器,我该怎么做?我更喜欢使用配置文件,但我担心该文件本身并未部署到集群中,因此不会运行(除非我对集群工作方式的理解存在缺陷).到目前为止,我看到的在运行时将配置选项传递到 Storm 拓扑的唯一方法是通过命令行参数,但是当您获得大量参数时,这会很麻烦.
..
只是想确保我了解了 Ack-ing 在 Storm 中的工作原理.我有 1 个喷嘴和 2 个螺栓链接在一起.Spout 向 Bolt1 发出元组,而 Bolt1 又会向 Bolt 2 发出元组.我希望 Bolt 2 确认从 Spout 发送的初始元组,但我不确定如何. 为了保证容错性(即:元组被重新发送),我想在螺栓 2 中确认 Spout 发出的元组,以防万一它在过程中的某个地方失败,以便
..
我按照 Storm Starter 的说明在 IntelliJ 中导入了 Twitter Storm.为了测试,我稍微编辑了 ExclaimationTopology 并使用以下 Maven 命令来构建和运行它: mvn -f m2-pom.xml compile exec:java -Dstorm.topology=storm.starter.ExclamationTopology 但我更感
..
有没有一种干净的方法来阻止风暴而不用“kill XXX"来杀死它,其中 XXX 是 PID? 我运行“storm kill topology-name"来终止拓扑,但在那之后,有没有一种干净的方法来关闭工作人员、nimbus、主管和用户界面? 我没有从文档中找到与此对应的任何命令:https://github.com/nathanmarz/storm/wiki/命令行客户端 解决
..
这是一个关于 Storm 的 max spout pending 工作原理的问题.我目前有一个 spout 读取文件并为文件中的每一行发出一个元组(我知道 Storm 不是处理文件的最佳解决方案,但我没有选择解决这个问题). 我将 topology.max.spout.pending 设置为 50k,以限制进入要处理的拓扑的元组数量.但是,我看到这个数字对拓扑没有任何影响.我看到每次都发出文
..
我有一个原型 Storm 应用程序,它读取 STOMP 流并将输出存储在 HBase 上.它可以工作,但不是很灵活,我正在尝试以更一致的方式设置它与我们的其他应用程序,但没有多少运气弄清楚如何使用 Storm 的当前工作方式.我们使用 spring-jms 类,但不是以标准的 spring 方式使用它们,而是在运行时创建它们,并手动设置依赖项. 这个项目:https://github.com
..
Storm 与 Hadoop 相比如何?Hadoop 似乎是开源大规模批处理的事实上的标准,Storm 比 hadoop 有什么优势吗?或者它们完全不同吗? 解决方案 你为什么不说出你的意见. http://www.infoq.com/news/2011/09/twitter-storm-real-time-hadoop/ http://engineering.twitter.co
..
Apache Kafka:分布式消息系统 Apache Storm:实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据? 就实时数据管道而言,在我看来两者的工作完全相同.我们如何在数据管道上使用这两种技术? 解决方案 您将 Apache Kafka 用作一个分布式且健壮的队列,它可以处理大量数据并使您能够将消息从一个端点传递到另一个端点. Storm 不
..
我正在尝试在 Storm 中运行一个拓扑来调用 python(例如:WordCountTopology),但我遇到了与 python3.5.2 是我服务器上的默认 python 相关的错误(错误是关于旧的/打印命令的新语法).如何指定风暴使用python2.7而不是python3.5?将 python 别名设置为 python2.7 不会改变任何东西.任何帮助表示赞赏. 解决方案 我猜你正
..
我在一个名为“storm-选举" 这是一个基于storm-starter 项目的简单演示应用程序.https://github.com/nathanmarz/storm-starter. 所以,我成功导入了storm-starter项目.如何导入风暴选举项目? 我可以在另一个导入的项目上导入一个项目吗? 解决方案 您不能在任何项目下创建项目,例如在文件夹下创建文件夹、在项
..
我正在尝试重新平衡正在运行的 Apache Storm (0.9.5) 拓扑中螺栓的执行程序数量.当我对 Nimbus 节点 ./storm rebalance MyTopology -n 2 -e GreenBolt=4 执行命令时,它接受命令行输入,但当我在 Storm UI 中查看时,执行程序的数量没有改变. 是否有我不知道的限制,例如重新平衡不能增加执行程序的总数,而只能将它们从一个
..
我正在使用 storm-1.0.0、pyleus-0.3.0、centos-6.6 和得到错误 线程“main"中的异常java.lang.NoClassDefFoundError:回型/风暴/拓扑/IRichBolt 运行:java -client -Ddaemon.name= -Dstorm.options= -Dstorm.home=/usr/local/apache-storm-1
..
我一直在寻找如何在我的 Scala 项目中从风暴 1.2.1 中的风暴螺栓中杀死拓扑.从这个答案,我编写了以下代码来做到这一点: private def ShutTopology(){导入 org.apache.storm.utils.Utils导入 org.apache.storm.utils.NimbusClientval conf = Utils.readStormConfigval n
..