`
wbj0110
  • 浏览: 1603274 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Storm+AWS

    博客分类:
  • AWS
阅读更多

安装步骤:
1. 下载一个发布版本(这里用的是storm-0.6.0),解压到一个目录下,将bin目录添加到系统的PATH环境中。
2. 为了可以在一个远程的集群上启动和停止topologies, 通过~/.storm/storm.yaml文件来配置cluster (后面会进一步说明) 。

开发环境介绍:
Storm有两种操作模式:本地模式和远程模式。本地模式下topologies的开发、测试运行可以在一台本地机器上完成,远程模式需要将topologies提交到cluster完成执行。
我们来快速的了解下本机机器和cluster的关系。一个cluster由一个被称作“Nimbus”的主节点所管理。本地机器通过Nimbus 将代码(或者jar包)和topologies提交到cluster来执行的,Nimbus来托管这些代码并分配一些works来运行你的 topology。本地机器通过一个storm的控制台来和Nimbus通信,这个storm控制台仅仅用于远程模式(本地模式的开发和测试不用它)。

本地客户端安装:
如果你想将topologies通过本地提交到cluster,需要先安装Strom的本地客户端程序。从https://github.com/nathanmarz/storm/downloads下载并解压到你机器上某个目录下,将解压后的bin目录添加到系统PATH中,并且确保bin/storm下面的script可以执行(有执行的权限等)。
安装本地客户端程序只是为了和远程的cluster进行交互。对于本地模式下topologies的代码开发、测试,建议你使用maven来管理,在maven中包含对Strom的依赖。

安装过程:
1) 安装leiningen.下载该脚本https://raw.github.com/technomancy/leiningen/stable/bin/lein,加入PATH环境,并确保能运行。
2) 使用git将storm-deploy下载下来。
3) 运行 lein deps
4) 创建一个文件 ~/.pallet/config.clj,来配置AWS上的示例,内容如下:

Java代码  收藏代码
  1. (defpallet  
  2.   :services  
  3.   {  
  4.    :default {  
  5.              :blobstore-provider "aws-s3"  
  6.              :provider "aws-ec2"  
  7.              :environment {:user {:username "storm"  
  8.                                   :private-key-path "$YOUR_PRIVATE_KEY_PATH$"  
  9.                                   :public-key-path "$YOUR_PUBLIC_KEY_PATH$"}  
  10.                            :aws-user-id "$YOUR_USER_ID$"}  
  11.              :identity "$YOUR_AWS_ACCESS_KEY$"  
  12.              :credential "$YOUR_AWS_ACCESS_KEY_SECRET$"  
  13.              :jclouds.regions "$YOUR_AWS_REGION$"  
  14.              }  
  15.     })  


配置说明:
A. 在每个节点上设置生成ssh公、私钥,公钥的路径必须是私钥路径+ “.pub”。在Linux上,还需要一个null护照。
B. aws-user-id:可以在你帐户(Git?)的管理页面找到。它是一个数字序列,将它放到上面这个配置文件中。
C. Identity: AWS的访问key。
D. Credential:AWS访问key的密码。
5) 修改conf/clusters.yaml。可以修改zookeeper nodes 和 supervisor nodes的数量通过修改zookeeper.count 或者supervisor.count。可以通过修改supervisor.spot.price来启动supervisor nodes的spot实例
6) (可选项)cluster的一些用户配置项通过修改conf/storm.yaml来完成,比如:超时时间、客户注册序列..

启动clusters:
执行命令:

Java代码  收藏代码
  1. lein run :deploy --start --name mycluster --release {release version}  


--name 参数用来给cluster指定一个名字,然后根据这个名字连接或者停掉它。省略的话,默认为“dev”。
--release参数标识当前使用的版本,缺省为主分支版本,强烈建议加上。
这个过程会设置Zookeeper,设置Nimbus,在端口8080启动Storm UI,在Nimbus端口3772上启动DRPC服务,设置Supervious,设置安全许可,并且将你的机器连接到cluster。

停止clusters:

Java代码  收藏代码
  1. lein run :deploy --stop --name mycluster  



连接cluster:

Java代码  收藏代码
  1. lein run :deploy --attach --name mycluster  


连接前需要:
1. 将Nimbus的地址写入到~/.storm/storm.yaml中,这样客户端才指定要连接的cluster是哪一个(例如:nimbus.host: "123.45.678.890"  )。
2. 可以访问Nimbus的守护进程提供的Thrift端口(用来提交topologies)(thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。)
3. 可以访问Storm UI在Nimbus的8080端口
4. 可以访问Ganglia在Nimbus的80端口。

获取cluster nodes的ip:

Java代码  收藏代码
  1. lein run :deploy --ips --name mycluster  



Ganglia
可以通过浏览器来访问:
http://{nimbus ip}/ganglia/index.php

分享到:
评论

相关推荐

    《Storm实时数据处理》PDF.zip

    内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同编程语言中的实现方法、Storm与Hadoop的集成方法、实时机器学习、持续交付和如何在AWS上部署Storm。此外,Storm实时...

    大数据-Storm实时数据处理

    内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同编程语言中的实现方法、Storm与Hadoop的集成方法、实时机器学习、持续交付和如何在AWS上部署Storm。此外,《大数据...

    漫谈大数据第四期-storm

    Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被...有个名为storm-deploy的子项目,可以在AWS上一键部署Storm集群。关于详细的步骤,可以阅读Storm Wiki上的《Setting up a Storm cluster》。

    aws-arch-backoff-simulator:适用于 AWS 架构的模拟器博客 (http

    然而,简单的重试策略(如立即重试或固定间隔重试)可能导致更多的并发请求,从而加重服务端的压力,这就是所谓的“ thundering herd”或“retry storm”现象。 退避策略是一种缓解这个问题的方法,它要求客户端在...

    storm-deploy:一键式部署AWS上的Storm集群

    该项目使在AWS上部署Storm集群变得非常简单。 有关使用此部署的说明,请参见 。 致谢 YourKit通过其功能齐全的Java Profiler支持开源项目。 YourKit,LLC是用于分析Java和.NET应用程序的创新和智能工具的创建者。 看...

    storm-config:将配置文件传递到Storm拓扑的示例

    其中包含的两个是docker.properties和aws.properties 。 码头工人 此示例配置为在OS X的Docker上运行,带有docker-machine的/etc/hosts条目(有关配置此环境的更多详细信息,请参阅)。 如果运行在不同的配置上,则...

    kinesis-storm-spout:风暴的Kinesis壶嘴

    亚马逊Kinesis风暴喷口 Amazon Kinesis Storm喷口可帮助Java开发人员将与集成。 要求 或更高版本 3.0或更高版本 13.0或更高版本 当然,还有和 概述 Amazon Kinesis Storm喷口... KinesisSpout :使用您的AWS凭证和Ki

    SLB七层访问日志分析.pptx

    对于日志消费,SLB支持实时消费,如消费组、Storm、Spark Streaming、Flink等,而AWS ELB则难以实现低延迟的消费。 开启SLB七层访问日志分析前,用户需要完成以下步骤:开通日志服务,创建SLB实例并配置七层监听,...

    Angular-bigdata-playground.zip

    使用大数据应用程序的完整示例:kubernetes(kops/aws)、apache spark sql/streaming/mlib、apache flink、scala、python、apache kafka、apache hbase、apache parquet、apache avro、apache storm、twitter api、...

    用于实时大数据处理的Lambda架构

    这里要讲的Lambda是一个实时大数据处理框架,而不是AWS的同名服务,但是其中所强调的容错性、横向扩容、易于维护等通用性质的概念却是二者都具备的,对于AWSLambda感兴趣的可以看博客的另外一篇文章《Serverless(无...

    互联网平台大数据架构大比拼.docx

    面对9300万月活跃用户产生的海量数据,Netflix构建了一套包括Apache Kafka、Elasticsearch、AWS S3、Apache Spark、Apache Hadoop和EMR在内的集成架构。Kafka用于实时流数据处理,Elasticsearch用于快速搜索和分析,...

    云上大数据解决方案.pdf

    2. Microsoft Azure HD Insight:Azure上的大数据分析服务,支持Hadoop、Spark、HBase、Storm和Kafka等多种开源工具,提供安全的企业级环境,便于在云中进行大数据处理。 3. OpenStack Sahara:这是一个OpenStack...

    PerfectDocs:关于Perfect(服务器端Swift)的参考和文档。 完美(支持服务器端Swift语言的软件函数库)使用文档和参考手册

    AWS Linode 性能分析和远程监控 消息队列和集群控制 大数据/人工智能与机器学习 平台特定说明 语言扩展: StORM,Swift ORM StORM不作为Perfect.org项目分发; 但是,Perfect库是其运行不可或缺的组成部分,并且...

    Java基础可导入试题文件新.zip

    4. AWS和Azure服务:Amazon Web Services(AWS)和Microsoft Azure都提供了丰富的Java SDK,使得开发者可以方便地利用云计算资源,如EC2(弹性计算云)、S3(简单存储服务)和Lambda(无服务器计算)。 总结,Java...

    企业信息安全-主机级资产管理与分析.docx

    rpm -ivh https://osquery-packages.s3.amazonaws.com/centos6/noarch/osquery-s3-centos6-repo-1-0.0.noarch.rpm yum install osquery ``` 配置文件通常位于`/etc/osquery/osquery.conf`,可以根据需要进行定制。...

    大数据处理框架选型分析.docx

    【大数据处理框架选型分析】 大数据处理框架是应对大规模数据集处理需求的...同时,随着云计算的发展,许多云服务商提供了托管的大数据服务,如AWS的EMR、Azure的HDInsight,这为企业提供了更灵活的部署和管理选项。

    Sans Summit 2019PPT汇总(101份).zip

    ['2019 SANS SOC Survey Preview- Live Simulcast.pdf', 'A Brief History of Attribution Mistakes.pdf', 'A Crash Course in ... 'Emerging threats by SANS Internet Storm Centre.pdf', 'Evolution of ICS Attac

    大数据笔试题面试题16+家公司.rar

    11. **云计算与大数据**:云计算平台(如AWS、Azure、Google Cloud)上的大数据服务,如EMR(Elastic Map Reduce)、HDInsight、BigQuery等。 12. **大数据架构设计**:如何根据业务需求设计可扩展、高可用、高效率...

    大数据在行业云平台上建设分析与选择.pdf

    例如,亚马逊云(AWS)的Amazon EMR提供了一个托管的Hadoop框架,该框架基于CDH进行了优化,并且与开源版本Hadoop兼容,集成了Spark、Presto、Flink等计算框架,但不支持Storm。同时,它还提供了消息队列服务Kinesis...

    云计算 大数据的面试题,百度,腾讯,阿里都用到过

    - Storm:实时流处理系统的概念和工作流程。 - Hive、Pig、HBase等大数据处理工具的用途和比较。 4. **大数据分析与挖掘**: - 数据预处理:清洗、集成、转换和规约等步骤。 - 分析方法:描述性分析、预测性...

Global site tag (gtag.js) - Google Analytics