Storm精华问答 | 如何理解spout/bolt的生命周期?

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=png

Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统等, 大数据实时处理解决方案的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。


640?wx_fmt=gif1

Q:在使用了storm一段时间后,需要重新部署storm的集群,主要是想将storm部署在其它机器上。做了以下错误操作:

        1) 没有kill 正在运行的topology,kill nimbus和supervisor的storm进程

        2) 删除了配置中"storm.local.dir"的文件夹内的内容

        3) 启动storm nimbus

系统报错,如何解决?

 

A:因为没有先killtopology,所以在启动nimbus时,zookeeper中依然保留了上次运行着的topology的信息,解决办法如下:

用zookeeper的zkCli.sh清理一下,直接重装了zookeeper。但是据说在storm0.6.1中已经解决了该bug。


640?wx_fmt=gif2

Q:在配置文件storm.yaml中,有:

那么,如何配置JVM参数呢?


A:如果worker在运行时,需要用指定的JVM参数,那么可以像这样配置:

worker.childopts: "-Dworker=worker -Xmx768m -Xdebug –Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,address=8111,suspend=y,server=y" 

 

640?wx_fmt=gif3

Q:如何理解spout/bolt的生命周期?

 

A:一般来说spout/bolt的生命周期如下:

1 、在提交了一个topology之后(在nimbus所在的机器),创建spout/bolt实例(spout/bolt在storm中统称为component)并进行序列化;

2、将序列化的component发送给所有的任务所在的机器;

3、在每一个任务上反序列化component;

4、在开始执行任务之前, 先执行component的初始化方法(bolt是prepare, spout是open);

因此component的初始化操作应该在prepare/open方法中进行,而不是在实例化component的时候进行。


640?wx_fmt=gif4

Q:如何将Storm与Spring框架集成?

 

 A:在进行Storm与Spring集成时,需要Storm的spout和bolt的生命周期按照上个问题那样理解清楚这样的话就会知道,component的初始化操作应该在prepare/open方法中进行,而不是在实例化component的时候进行.按照这种说法进行改造,结构该问题消失了。但接下来可能会有新的问题:

Caused by: org.xml.sax.SAXParseException: Content is not allowedin prolog.

这个异常是由于*.xml文件编码的问题。原因是在从其他项目里或者编辑工具编辑时,在文件编码中加入了BOM头的原因,于是用notePad++打开xml文件选择去掉BOM头信息,重新进行保存即可。


640?wx_fmt=gif5

Q“java.lang.NoClassDefFoundError: clojure.core.protocols$”故障如何解决?

 

A:故障的原因是因为JDK版本不匹配,安装虚拟机时系统会自带一个jdk.1.5.0。解决办法是检查JDK版本,卸载系统自带的JDK,使用自己安装的JDK版本。

        #rpm –qa | grep java
# rpm –e –nodeps java-*

配置环境变量

vi /etc/profile

重新执行一遍即可。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Storm,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • IEEE 回应禁止华为系审稿人;WiFi联盟、蓝牙联盟已恢复华为成员资格;中国计算机学会:暂时中止与IEEE通信学会合作……

  • ARM 发布新一代 CPU 和 GPU,实现 20% 性能提升!

  • 前端开发 20 年变迁史

  • 北漂杭漂的程序员,是如何买到第一套房子?

  • “爱装X”开源组织:“教科书级”AI知识树究竟长什么样?

  • 500行Python代码打造刷脸考勤系统

  • 权游播完了, 你在骂烂尾, 有人却悄悄解锁了新操作……


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刚刚!6月榜单:JS跌惨,Python又霸榜,C++再无翻身可能!

Python勇者无敌!最近一份PYPL 6月报告了来了,通过半年的发展,Python基本已奠定2019年-2020的地位,持续称王就对了!PLPY 6月榜单,JS跌惨只见Python笑,哪闻C哭PYPL 发布 6 月编程语言指数榜啦。毫…

java vector 输出_5.7(java学习笔记)Vector、Enumeration

一.VectorVector类实现一个可扩展的数组对象。与数组一样,它包含可以使用整数索引访问。它的基本操作方法add(int index, E element),get(int index),indexOf(Object o)等操作方法与数组中的方法类似这里就不叙述了。我们主要看一个方法&…

企业实战案例01_Jenkins_连接远程执行shell脚本

文章目录一、Jenkins 远程连接执行shell脚本1.1. 新建节点1.2. 配置节点信息二、连接远程验证测试2.1. 创建任务2.2. 添加注释2.3. 设置最大构建数量2.4. 限制项目的运行节点2.5. 选择构建环境2.6. 填写获取Tomact目录列表脚本2.7. 立即构建项目2.8. 查看控制台日志监控一、Jen…

纯粹,极致!他用两个词阐释了UCloud | 人物志

戳蓝字“CSDN云计算”关注我们哦!“我觉得有一个词是肯定的:纯粹,另一个词可能是极致。但这个词我有些犹豫,因为我们做的还不够好。”UCloud技术副总裁杨镭在UCloud用户大会期间接受老孙独家采访时这样形容UCloud。UCloud技术副总…

企业实战案例02_Jenkins_连接远程GitLab拉取代码

编译、打包 文章目录一、任务新建和配置信息1. 新建任务2. 添加描述3. 设置构建的最大数量4. 添加Git构建参数5.复制远程项目链接地址6. 粘贴远程项目地址7. 添加凭据7. 要编译的分支8. 效果图9. 编译和打包项目二、构建项目和日志监听1. 查看工作区(构建项目前&…

java责任链模式审批请假_Java使用责任链模式处理学生请假问题详解

本文实例讲述了Java使用责任链模式处理学生请假问题。分享给大家供大家参考,具体如下:一. 模式定义在责任链模式中,很多对象由每一个对象对其下家的引用而连接起来,形成一条链。客户端应用请求在这个链上进行传递,直到…

联想成立数据智能事业部,前京东蓝烨回归;华为或已向多国知识产权组织提交「鸿蒙」商标申请……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 混合动力电动飞机Ampaire 33…

java铃声类_java多线程抓取铃声多多官网的铃声数据

一直想练习下java多线程抓取数据。有天被我发现,铃声多多的官网(http://www.shoujiduoduo.com/main/)有大量的数据。通过观察他们前端获取铃声数据的ajaxhttp://www.shoujiduoduo.com/ringweb/ringweb.php?typegetlist&listid{类别ID}&page{分页页码}很容易…

Spark精华问答 | RDD的核心概念是什么?

Hadoop再火,火得过Spark吗?今天我们继续关于Spark的精华问答吧。1Q:RDD的核心概念是什么?A:Client:客户端进程,负责提交作业到Master。Master:Standalone模式中主控节点,负责接收Cli…

用科技讲好中国历史故事,腾讯携手秦陵“玩儿转”数字化!

戳蓝字“CSDN云计算”关注我们哦!众所周知,秦始皇陵及兵马俑坑一早就被联合国教科文组织批准列入《世界遗产名录》,并同时被誉为“世界第八大奇迹”,逐渐成长为中国古代辉煌文明的一张金字名片。与此同时,近年来秦陵博…

Tomcat10 开机启动 Linux环境

文章目录1. 切换用户2. 编辑3. 赋予权限4. 重启服务器5. 验证1. 切换用户 请切换到root用户执行,普通用户自启动无权限 su - root2. 编辑 vim /etc/rc.d/rc.local# 添加内容 source /etc/profile touch /var/lock/subsys/local /app/apache-tomcat-10.0.10/bin/s…

开源“大地震”下,华为如何复制 Google 模式?

戳蓝字“CSDN云计算”关注我们哦!作者 | 郭芮出品 | CSDN(ID:CSDNnews)回首刚刚过去的五月,注定会给很多技术人留下浓墨重彩的一笔。2018 年 4 月,曾经占据智能手机全球份额第九、美国第四大智能手机供应商…

Spring精华问答 | 什么是YAML?

Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们一起来看看关于Spring的精华问答吧。1Q:如何在自定义端口上运行Spring Boot应用程序?A:为了在自定义端口上运行Spring…

Sublime Test3 添加一键格式化XML文件插件

文章目录1. 下载地址:2. 快捷键:3. 在线格式化xml json插件1. 下载地址: 下载链接提取码https://pan.baidu.com/s/1zovLp4BCJmreAYe83EionAq0vq 2. 快捷键: 快捷键说明CtrlL选择整行(按住-继续选择下行)C…

java获得jsp的name注解_记录Java注解在JavaWeb中的一个应用实例

概述在学习注解的时候,学了个懵懵懂懂。学了JavaWeb之后,在做Demo项目的过程中,借助注解和反射实现了对页面按钮的权限控制,对于注解才算咂摸出了点味儿来。需求以"角色列表"页面为例,该页面包含"新建&…

企业实战_03_MyCat下载、安装、启动

接上一篇:企业实战_02_MyCat基本元素 https://gblfy.blog.csdn.net/article/details/118770154 Mycat是一个广受好评的数据库中间件,主要应用场景:主从复制、读写分离、垂直拆分、水平扩展、热备、分表分库等。 前言: MyCat基于jd…

微服务的历史与陷阱

戳蓝字“CSDN云计算”关注我们哦!作者 | 李运华出品 | 技术琐话微服务是近几年非常火热的架构设计理念,大部分人认为是MartinFlower提出了微服务概念,但事实上微服务概念的历史要早得多,也不是Martin Flower创造出来的&#xff0c…

java加锁多线程改为单线程_GUI为什么不设计为多线程(用户事件和底层事件的流程是相反的,每层都加锁效率太低,共用一把锁那就是单线程)...

在我们这批新人转正评审的时候,我师父问了我的小伙伴一个问题:为什么一些更新界面的方法只能在主线程中调用?师父没有问我这个问题,让知其然但不知其所以然的我有种侥幸逃过一难的心情。我想如果回答那是因为Android GUI库是单线程…

行啊,人工智能玩大了!

戳蓝字“CSDN云计算”关注我们哦!是的 ,你没猜错!就是人工智能!AI的炽手可热程度和重要性无需多提。最近,笔者在网上发现了一个报告,报告名字:《BAT人工智能领域人才发展报告》,发现…

java xml注入bean_Spring实战之通过XML装配bean

尽管Spring长期以来确实与XML有着关联,但现在需要明确的是,XML不再是配置Spring的唯一可选方案。Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了。不过,鉴于已经存在那么多基于XML的Spring配置&…