`

storm异常

 
阅读更多


★ yaml跟我们一般用的属性配置文件有所不同, 它的要求更严格一些, 因此在往conf/storm.yaml中添加配置的时候必须注意.

比如必须注意开始位置和冒号后面的空格, 否则配置不会生效. 关于yaml相关的资料, 网上有很多资料可以参考

如何检查配置是否生效, 可以使用命令: storm localconfvalue 配置关键字
但是这个命令只能在nimbus上生效, 在supervisor看到的还是默认值. 不知道为什么

★ 在部署storm节点的时候需要安装jzmq和0qm, 在安装这两个依赖包之后, 需要执行sudo -u root ldconfig. 否则会出现异常:

引用
2012-02-24 16:30:30 worker [ERROR] Error on initialization of server mk-worker
java.lang.UnsatisfiedLinkError: /usr/local/lib/libjzmq.so.0.0.0: libzmq.so.1: cannot open shared object file: No such file or
directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at org.zeromq.ZMQ.<clinit>(ZMQ.java:34)


这里有相关的讨论:
http://groups.google.com/group/storm-user/browse_thread/thread/656fb21d7166574d

★ 关闭nimbus相关进程:
kill `ps aux | egrep '(daemon\.nimbus)|(storm\.ui\.core)' | fgrep -v egrep | awk '{print $2}'`

★ 干掉supervisor上的所有storm进程:
kill `ps aux | fgrep storm | fgrep -v 'fgrep' | awk '{print $2}'`

★ 目前storm貌似不支持动态加载log4j配置文件, 每一个supervisor节点需要修改log4j/storm.log.properties文件来调整日志输出.

★ 在打包toplogy工程的时候, 如果采用assembly方式, 对于相关的依赖的配置一般要这样:

Xml代码  收藏代码
  1. <dependencySets>  
  2.         <dependencySet>  
  3.             <outputDirectory>/</outputDirectory>  
  4.             <unpack>true</unpack>  
  5.             <excludes>  
  6.                 <exclude>storm:storm</exclude>  
  7.             </excludes>  
  8.         </dependencySet>  
  9.     </dependencySets>  



wiki上说可以用<scope>compile</scope>. 然后将storm依赖设置为runtime, 貌似不行. 另外就是所有的依赖包将全部解压, 然后将所有依赖的配置和class文件生成一个文件. 这个是通过<unpack>true</unpack>参数来控制的.

★ 有时候supervisor的conf/storm.yaml参数设置不合理, 会导致worker无法起来的现象, 比如我碰到的一个例子是. 定义了worker.childopts(给了一个不合理的jvm参数). 结果导致worker反复启动, 而均不成功, 这里的日志信息也不明确, 只是说无法start, 但是没有给更详细的上下文信息. 

引用
backtype.storm.daemon.worker mytoplogy-12-1330051497 fdd0effd
-0611-427a-8e23-84fe25047dbd 6701 d7f8354d-9ec0-4272-aa0d-9260f7b0042f
2012-02-24 14:24:27 supervisor [INFO]
a17ff23e-00b2-4e51-9001-74664413d2dd still hasn't started
2012-02-24 14:24:28 supervisor [INFO]
a17ff23e-00b2-4e51-9001-74664413d2dd still hasn't started
2012-02-24 14:24:28 supervisor [INFO]
a17ff23e-00b2-4e51-9001-74664413d2dd still hasn't started
2012-02-24 14:24:29 supervisor [INFO]
a17ff23e-00b2-4e51-9001-74664413d2dd still hasn't started




★ 有问题直接上storm-user搜索相关帖子或者问Storm的作者Nathan Marz. 此人回答问题非常热心. 从提问人的id来看, 貌似中国人在上面问问题的非常多^_^

★在提交topology的时候有时可能出现如下异常:

引用
Exception in thread "main" java.lang.IllegalArgumentException: Nimbus host is not set
        at backtype.storm.utils.NimbusClient.<init>(NimbusClient.java:30)
        at backtype.storm.utils.NimbusClient.getConfiguredClient(NimbusClient.java:17)
        at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:78)
        at backtype.storm.StormSubmitter.submitJar(StormSubmitter.java:71)
        at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:50)
        at com.taobao.kaleidoscope.storm.IcdbTopology.main(IcdbTopology.java:59)



但是启动nimbus是没有问题的, 这个主要以为内conf_dir路径设置不正确, 在bin/storm脚本中需要加上这样一句:

Python代码  收藏代码
  1. CONF_DIR = STORM_DIR + "/conf"  



★Q:如何知道一个tuple的来源?
A:tuple.getSourceStramId()

分享到:
评论

相关推荐

    storm深入学习.pdf

    最后,Storm异常处理是保证系统稳定运行的关键。有效的异常处理策略包括捕获并记录错误,以及在失败时自动重试或重新分配任务。理解并熟练应用这些技术,能帮助开发者构建更健壮的Storm拓扑。 总结来说,Storm的...

    基于Storm+Esper架构实现的证券异常交易行为监控系统源码+项目说明(支持金证交易系统的指令拦截 、复制与解析).zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学...基于Storm+Esper架构实现的证券异常交易行为监控系统源码+项目说明(支持金证交易系统的指令拦截 、复制与解析).zip

    Storm笔记-PPT

    2. **流式数据处理**:如日志收集、实时监控,及时响应异常情况。 3. **消息路由**:结合Flume或Kafka,构建高效的数据传输和处理管道。 通过对Storm的学习,我们可以理解实时数据处理的核心原理,掌握如何构建和...

    storm大数据相关代码

    - **实时处理**:用Bolt进行实时计算,如实时统计、异常检测或实时报表生成。 - **数据持久化**:将处理后的结果存储到数据库(如HBase、Cassandra)、消息队列(如Kafka)或其他数据存储中。 - **容错机制**:利用...

    storm-hbase集成

    5. 错误处理:处理可能发生的异常,如网络问题或数据冲突。 五、优化策略 1. 数据分区:根据数据的属性进行分区,减少写入 HBase 时的争用,提高性能。 2. 并行度调整:适当增加 Bolt 的并行度,以提高处理速度。 3...

    storm 实战笔记

    这部分可能涉及信用评分模型、异常交易检测算法,以及如何在Storm中实现这些复杂的业务逻辑。 六、Storm之猜你喜欢推荐系统实战 推荐系统是提高用户体验和转化率的关键技术。在这里,Storm被用来构建实时推荐引擎,...

    storm开发设计规范

    - 实现正确的失败恢复机制,确保在异常情况下能正确重放未处理的数据。 2. **Bolt开发规范**: - Bolt的设计应尽可能高效,避免不必要的计算和内存消耗。 - 遵循合适的并行度设置,以平衡资源利用和处理速度。 ...

    storm部署(包括所有依赖rpm包、集群搭建详解)

    9. **监控和管理**:通过Storm UI监控拓扑运行情况,如有异常,可使用`storm kill`命令停止拓扑,或`storm list`查看当前运行的拓扑。 集群搭建完成后,需要注意监控集群的健康状况,包括资源利用率、网络延迟、...

    基于Storm流计算天猫双十一作战室项目实战

    - **并发度与线程安全**:深入分析并发度设置的重要性以及如何保证线程安全,避免数据处理过程中的错误和异常。 - **批处理事务**:介绍Storm Trident提供的批处理事务机制,提高数据处理的一致性和可靠性。 - **...

    中国移动storm项目代码

    7. **数据清洗和预处理**:在处理基站数据前,可能需要进行数据清洗,去除异常值,标准化格式等,以便后续分析。 8. **数据分析与算法**:计算掉话率可能涉及特定的统计算法,例如滑动窗口计数、比率计算等。理解并...

    Storm_WebService.zip

    最后,一个完整的测试流程应该包括对异常情况的模拟,以确保Web服务在面对异常输入或网络问题时也能正确响应。 总的来说,"Storm_WebService.zip"提供的内容旨在帮助开发者建立一个可靠的、能够处理实时数据流的Web...

    基于Storm构建实时热力分布项目实战-地址.txt

    在本项目中,热力图主要用于展示实时数据流中的热点区域,有助于快速识别关键信息或异常情况。 #### 三、项目设计与实现 **1. 系统架构设计** - **数据采集层**:负责收集来自不同源的实时数据流,如传感器数据、...

    storm_r1.1-adarna 调试WebService接口的工具

    - 使用工具进行全方位的测试,包括边界条件、异常处理和性能测试。 - 定期更新和维护测试用例,以适应服务的变化。 总之,Storm_r1.1-Adarna是Web Service开发者的重要助手,它简化了调试过程,提高了开发效率。...

    Storm WebService调试工具(很方便)

    5. 错误检测:高亮显示错误或异常,便于快速定位问题。 6. 会话管理:保存和重放请求,方便复现问题或回归测试。 7. 日志记录:跟踪请求历史,便于追踪和调试。 8. 自动化测试:通过脚本或预定义的测试套件执行批量...

    Storm实战构建大数据实时计算

    - 日志分析:实时处理和分析服务器日志,发现异常行为。 - 电商推荐:实时用户行为分析,提供个性化推荐。 7. **与其他技术的集成** - Storm可以与Hadoop、Cassandra、Kafka等大数据技术结合,构建端到端的...

    Java-webservice接口测试工具Storm_r1.1-Adarna

    这包括验证请求和响应格式、处理异常情况、以及性能和负载测试等。 Storm_r1.1-Adarna作为一款测试工具,提供以下关键特性: 1. **易用性**:工具设计简洁,易于上手,使得非专业测试人员也能快速进行Web服务接口...

    storm流式计算(实时系统)

    这些日志数据可以进一步分析,例如,通过实时分析日志数据来检测系统的异常行为,进行故障预警。 **电商交易系统** 在电商交易系统中,实时处理能力至关重要。例如,订单创建、支付确认、库存更新等都需要实时处理...

    storm-yarn结合pig实现广告点击量分析

    Bolt可以执行计数、过滤或其他复杂操作,如计算每分钟的点击次数,或者识别异常行为。 3. **资源调度**:在YARN上部署Storm拓扑,YARN会根据资源需求和集群状态来调度和管理Storm的工作节点(worker)。 4. **离线...

    ( Storm实时数据处理.zip )PDF 高清版

    - **物联网(IoT)**:实时处理传感器数据,进行设备监控和异常检测。 - **广告定向**:根据用户行为实时推送个性化广告。 **4. Storm的实时处理优势** - **低延迟**:Storm设计的目标是亚秒级的延迟,非常适合对...

Global site tag (gtag.js) - Google Analytics