标签: apache-storm

如何禁用/关闭Storm的日志记录功能

我想在从本地群集运行时关闭默认提供的日志记录功能.目前它在控制台上记录了很多信息.

以下是日志示例:

261 [main] INFO  backtype.storm.daemon.task  - Shut down task Getting-Started-Toplogie-1-1376388324:2
2261 [main] INFO  backtype.storm.daemon.task  - Shutting down task Getting-Started-Toplogie-1-1376388324:1
2262 [Thread-24] INFO  backtype.storm.util  - Async loop interrupted!
2276 [main] INFO  backtype.storm.daemon.task  - Shut down task Getting-Started-Toplogie-1-1376388324:1
2278 [main] INFO  backtype.storm.daemon.worker  - Terminating zmq context
2279 [main] INFO  backtype.storm.daemon.worker  - Disconnecting from storm cluster state context
2279 [main] INFO  backtype.storm.daemon.worker  - Waiting for heartbeat thread to die
2279 [Thread-27] INFO  backtype.storm.util  - Async loop interrupted!
2308 [main] INFO  backtype.storm.testing  - …
Run Code Online (Sandbox Code Playgroud)

java log4j apache-storm

14
推荐指数
1
解决办法
1万
查看次数

Storm UI:执行和处理延迟之间的差异

我一直在努力记录当前项目的所有Storm指标的含义.

在此过程中,我从该组响应以及github收集了数据.

虽然有些指标非常自我解释,但我对一些螺栓指标感到困惑.

例如,Process Latency和Execute Latency之间有什么区别?

通过此Google论坛上的帖子,我收集了以下信息:

  • 列表项处理延迟=调用ack时的时间戳 - 执行传递元组时的时间戳

  • 列表项执行延迟=执行函数结束时的时间戳 - 执行传递时的时间戳元组(来源:http://goo.gl/3KRAl)

  • 列表项处理延迟是直到元组被激活的时间,执行延迟是元组执行所花费的时间(来源:http://goo.gl/m0fTC)

根据我在风暴用户界面中看到的内容,我的执行延迟几乎总是大于进程延迟.怎么会这样?任何人都可以帮我确定两种延迟的确切定义吗?

提前致谢!

metrics real-time apache-storm

13
推荐指数
1
解决办法
6093
查看次数

未找到Storm logviewer页面

我可以在多租户群集中提交拓扑作业.工作正在进行中.但是,logviewer页面不可用.有什么方法可以解决这个问题吗?

log-viewer apache-storm

13
推荐指数
2
解决办法
5762
查看次数

确切一次和至少一次保证之间的差异

我正在研究分布式系统并参考这个老问题:stackoverflow链接

我真的无法理解完全一次,至少一次和最多一次保证之间的区别,我在Kafka,Flink和Storm以及Cassandra中也读到了这些概念.例如有人说Flink更好,因为只有一次保证,而Storm只有至少一次.

我知道,一次性模式对延迟更好,但同时对于容错更糟糕吗?如果我没有重复,如何恢复流?然后......如果这是一个真正的问题,为什么一次保证被认为比其他保证更好?

有人可以给我更好的定义吗?

cassandra apache-kafka apache-storm apache-flink

13
推荐指数
2
解决办法
6588
查看次数

如何在卡夫卡和风暴的背景下实现多租户?

在卡夫卡和风暴背景下构建多租户应用程序的最佳实践是什么?

例如:为每个租户创建主题并使用多主题spout(使用通配符).

java apache-kafka apache-storm

12
推荐指数
1
解决办法
2614
查看次数

设置docker/fig Mesos环境

我正在尝试建立一个docker/fig Mesos集群.我是无花果和Docker的新手.Docker有很多文档,但我发现自己很难理解如何使用fig.

这是我的fig.yaml:

zookeeper:
  image: jplock/zookeeper
  ports: 
  - "49181:2181"
mesosMaster:
  image: mesosphere/mesos:0.19.1
  ports: 
    - "15050:5050"
  links: 
    - zookeeper:zk
  command: mesos-master --zk=zk --work_dir=/var/log --quorum=1
mesosSlave:
  image: mesosphere/mesos:0.19.1
  links: 
    - zookeeper:zk
  command: mesos-slave --master=zk
Run Code Online (Sandbox Code Playgroud)

谢谢 !


编辑:

感谢Mark O`Connor的帮助,我创建了一个基于docker的工作台设置(+风暴,chronos等等).

享受,如果您觉得这很有用 - 请提供:https: //github.com/yaronr/docker-mesos

PS.请+1马克的答案:)

docker mesos fig apache-storm

12
推荐指数
1
解决办法
1万
查看次数

在简单的聚合风暴拓扑中分组

我正在尝试编写执行以下操作的拓扑:

  1. 订阅Twitter订阅源的订阅源(基于关键字)
  2. 聚合螺栓,聚合集合中的许多推文(比如N)并将它们发送给打印机螺栓
  3. 一个简单的螺栓,可以立即将集合打印到控制台.

实际上我想对集合进行更多处理.

我在本地测试它,看起来它正在工作.但是,我不确定我是否正确设置了螺栓上的分组,以及在部署在实际风暴群上时这是否可以正常工作.如果有人可以帮助审查此拓扑并建议任何错误,更改或改进,我将不胜感激.

谢谢.

这就是我的拓扑结构.

builder.setSpout("spout", new TwitterFilterSpout("pittsburgh"));
   builder.setBolt("sampleaggregate", new SampleAggregatorBolt())
                .shuffleGrouping("spout");
   builder.setBolt("printaggreator",new PrinterBolt()).shuffleGrouping("sampleaggregate");
Run Code Online (Sandbox Code Playgroud)

聚合螺栓

public class SampleAggregatorBolt implements IRichBolt {

    protected OutputCollector collector;
    protected Tuple currentTuple;
    protected Logger log;
    /**
     * Holds the messages in the bolt till you are ready to send them out
     */
    protected List<Status> statusCache;

    @Override
    public void prepare(Map stormConf, TopologyContext context,
                        OutputCollector collector) {
        this.collector = collector;

        log = Logger.getLogger(getClass().getName());
        statusCache = new ArrayList<Status>();
    }

    @Override
    public void execute(Tuple tuple) { …
Run Code Online (Sandbox Code Playgroud)

java apache-storm

11
推荐指数
1
解决办法
5539
查看次数

从命令行运行R脚本时找不到setClass

我有简单的R脚本试图定义类.example.R

 Tuple <- setClass("Tuple",
            slots = c(
              id="character",
              comp="character",
              stream="character",
              task="character",
              output="vector",
              anchors="vector"
                )
            );
Run Code Online (Sandbox Code Playgroud)

当我运行Rscript example.R.我在下面说错了

eval中的错误(expr,envir,enclos):找不到函数"setClass"调用:source - > withVisible - > eval - > eval

任何人都可以帮忙吗?

r rscript apache-storm

11
推荐指数
1
解决办法
1192
查看次数

风暴 - 主管在重启时崩溃

这是一个让我疯狂的问题.我在本地局域网上运行一台机器Storm实例.我目前正在运行v0.9.1-incubating发布版本(来自Apache Incubator站点.问题只是我的storm supervisor进程在每次重启后都拒绝启动.修复非常简单,从storm本地目录中删除和文件夹并重新运行该过程;事情运行hunky dory然后直到下次重启.supervisorworkers

我提供了一些我认为可能与调试此问题相关的信息.如果需要,请询问更多,但只是帮我解决一下.

PS:我是否运行拓扑并不重要.

  1. Zookeeper版本:3.4.5
  2. 风暴版:0.9.1孵化(使用Netty运输)
  3. Storm和Zookeeper都在同一台机器上运行.
  4. supervisord版本:3.0b2
  5. 操作系统:Ubuntu 12.04 LTS
  6. 处理器:AMD Phenom(tm)II X6 1055T处理器×6
  7. RAM:5.6 GiB

主管配置

[program:zookeeper]
command=/path/to/zookeeper/bin/zkServer.sh "start-foreground"
process_name=zookeeper
directory=/path/to/zookeeper/bin
stdout_logfile=/var/log/zookeeper.log        ; stdout log path, NONE$
stderr_logfile=/var/log/err.zookeeper.log        ; stderr log path, $
priority=2
user=root


[program:storm-nimbus]
command=/path/to/storm/bin/storm nimbus
user=root
autostart=true
autorestart=true
startsecs=10
startretries=2
log_stdout=true
log_stderr=true
stderr_logfile=/var/log/storm/nimbus.err.log
stdout_logfile=/var/log/storm/nimbus.out.log
logfile_maxbytes=20MB
logfile_backups=2
priority=10


[program:storm-ui]
command=/path/to/storm/bin/storm ui
user=root
autostart=true
autorestart=true
startsecs=10
startretries=2
log_stdout=true
log_stderr=true
stderr_logfile=/var/log/storm/ui.err.log
stdout_logfile=/var/log/storm/ui.out.log
logfile_maxbytes=20MB
logfile_backups=2 …
Run Code Online (Sandbox Code Playgroud)

apache-storm

11
推荐指数
1
解决办法
3242
查看次数

大数据集成测试最佳实践

我正在寻找有关基于AWS的数据提取管道的最佳实践的一些资源,该管道使用Kafka,风暴,火花(流和批处理),使用各种微服务来读取和写入Hbase以暴露数据层.对于我的本地环境,我正在考虑创建docker或vagrant图像,这将允许我与env进行交互.我的问题就是如何为一个更接近生产的功能性端到端环境站起来的东西,这种下降方式就是拥有一个永远在线的环境,但这会变得昂贵.就perf性环境而言,似乎我可能不得不提出并拥有可以拥有"世界的运行"的服务帐户,但其他帐户将通过计算资源受到限制,因此它们不会压倒集群.

我很好奇其他人如何处理同样的问题,如果我正在考虑这个问题.

bigdata apache-spark apache-storm

11
推荐指数
1
解决办法
559
查看次数