超人学院storm深入浅出.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
超人学院storm深入浅出

停止作业 先查询作业列表storm list 命令行下执行storm kill TopologyName 在storm ui上点击kill按钮 topology读取本地文件 如果需要在topology中读取磁盘中的文件加载一些配置信息的话,需要保证这个文件存在于集群的所有节点中。 并行度 worker,executor,task解释 1个worker进程执行的是1个topology的子集(注:不会出现1个worker为多个topology服务)。1个worker进程会启动1个或多个executor线程来执行1个topology的(spout或bolt)。因此,1个运行中的topology就是由集群中多台物理机上的多个worker进程组成的。 executor是1个被worker进程启动的单独线程。每个executor只会运行1个topology的1个(spout或bolt)的task(注:task可以是1个或多个,storm默认是1个(spout或bolt)只生成1个task,executor线程会在每次循环里顺序调用所有task实例)。 task是最终运行spout或bolt中代码的执行单元(注:1个task即为spout或bolt的1个实例,executor线程在执行期间会调用该task的nextTuple或execute方法)。topology启动后,1个(spout或bolt)的task数目是固定不变的,但该(spout或bolt)使用的executor线程数可以动态调整(例如:1个executor线程可以执行该(spout或bolt)的1个或多个task实例)。这意味着,对于1个(spout或bolt)存在这样的条件:#threads=#tasks(即:线程数小于等于task数目)。默认情况下task的数目等于executor线程数目,即1个executor线程只运行1个task。 默认情况下,一个supervisor节点最多可以启动4个worker进程,每一个topology默认占用一个worker进程,每个spout或者bolt会占用1个executor,每个executor启动1个task。 提高并行度 worker(slots) 默认一个从节点上面可以启动4个worker进程,参数是supervisor.slots.port。在storm配置文件中已经配置过了,默认是在strom-core.jar包中的defaults.yaml中配置的有。 默认一个strom项目只使用一个worker进程,可以通过代码来设置使用多少个worker进程。 通过config.setNumWorkers(workers)设置 通过conf.setNumAckers(0);可以取消acker任务 最好一台机器上的一个topology只使用一个worker,主要原因是减少了worker之间的数据传输 如果worker使用完的话再提交topology就不会执行,会处于等待状态 executor 默认情况下一个executor运行一个task,可以通过在代码中设置 builder.setSpout(id, spout, parallelism_hint); builder.setBolt(id, bolt, parallelism_hint); task 通过boltDeclarer.setNumTasks(num);来设置实例的个数 executor的数量会小于等于task的数量(为了rebalance) 例子:通过提高并行度实现单词汇总。 弹性计算 通过代码调整 topologyBuilder.setBolt(green-bolt, new GreenBolt(),2) .setNumTasks(4).shuffleGrouping(blue-spout); 通过shell调整 # 10秒之后开始调整 # Reconfigure the topology mytopology to use 5 worker processes, # the spout blue-spout to use 3 executors and # the bolt yellow-bolt to use 10 executors. storm rebalance mytopology -w 10 -n 5 -e blue-spout=3 -e yellow-bolt=10 注意:acker数目运行时是不会变化的,所以多指定几个worker进程,acker线程数也不会增加。 通过UI(不推荐使用) 官网蓝绿黄例子 stream grouping stream grouping分类 Shuffle Grouping: 随机分组, 随机派发stream里面的t

文档评论(0)

zsmfjh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档