安装步骤:
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上的示例,内容如下:
- (defpallet
- :services
- {
- :default {
- :blobstore-provider "aws-s3"
- :provider "aws-ec2"
- :environment {:user {:username "storm"
- :private-key-path "$YOUR_PRIVATE_KEY_PATH$"
- :public-key-path "$YOUR_PUBLIC_KEY_PATH$"}
- :aws-user-id "$YOUR_USER_ID$"}
- :identity "$YOUR_AWS_ACCESS_KEY$"
- :credential "$YOUR_AWS_ACCESS_KEY_SECRET$"
- :jclouds.regions "$YOUR_AWS_REGION$"
- }
- })
配置说明:
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:
执行命令:
- lein run :deploy --start --name mycluster --release {release version}
--name 参数用来给cluster指定一个名字,然后根据这个名字连接或者停掉它。省略的话,默认为“dev”。
--release参数标识当前使用的版本,缺省为主分支版本,强烈建议加上。
这个过程会设置Zookeeper,设置Nimbus,在端口8080启动Storm UI,在Nimbus端口3772上启动DRPC服务,设置Supervious,设置安全许可,并且将你的机器连接到cluster。
停止clusters:
- lein run :deploy --stop --name mycluster
连接cluster:
- 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:
- lein run :deploy --ips --name mycluster
Ganglia
可以通过浏览器来访问:
http://{nimbus ip}/ganglia/index.php
相关推荐
内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同编程语言中的实现方法、Storm与Hadoop的集成方法、实时机器学习、持续交付和如何在AWS上部署Storm。此外,Storm实时...
内容涵盖Storm本地开发环境搭建、日志流数据处理、Trident、分布式远程过程调用、Topology在不同编程语言中的实现方法、Storm与Hadoop的集成方法、实时机器学习、持续交付和如何在AWS上部署Storm。此外,《大数据...
Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被...有个名为storm-deploy的子项目,可以在AWS上一键部署Storm集群。关于详细的步骤,可以阅读Storm Wiki上的《Setting up a Storm cluster》。
然而,简单的重试策略(如立即重试或固定间隔重试)可能导致更多的并发请求,从而加重服务端的压力,这就是所谓的“ thundering herd”或“retry storm”现象。 退避策略是一种缓解这个问题的方法,它要求客户端在...
该项目使在AWS上部署Storm集群变得非常简单。 有关使用此部署的说明,请参见 。 致谢 YourKit通过其功能齐全的Java Profiler支持开源项目。 YourKit,LLC是用于分析Java和.NET应用程序的创新和智能工具的创建者。 看...
其中包含的两个是docker.properties和aws.properties 。 码头工人 此示例配置为在OS X的Docker上运行,带有docker-machine的/etc/hosts条目(有关配置此环境的更多详细信息,请参阅)。 如果运行在不同的配置上,则...
亚马逊Kinesis风暴喷口 Amazon Kinesis Storm喷口可帮助Java开发人员将与集成。 要求 或更高版本 3.0或更高版本 13.0或更高版本 当然,还有和 概述 Amazon Kinesis Storm喷口... KinesisSpout :使用您的AWS凭证和Ki
对于日志消费,SLB支持实时消费,如消费组、Storm、Spark Streaming、Flink等,而AWS ELB则难以实现低延迟的消费。 开启SLB七层访问日志分析前,用户需要完成以下步骤:开通日志服务,创建SLB实例并配置七层监听,...
使用大数据应用程序的完整示例: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是一个实时大数据处理框架,而不是AWS的同名服务,但是其中所强调的容错性、横向扩容、易于维护等通用性质的概念却是二者都具备的,对于AWSLambda感兴趣的可以看博客的另外一篇文章《Serverless(无...
面对9300万月活跃用户产生的海量数据,Netflix构建了一套包括Apache Kafka、Elasticsearch、AWS S3、Apache Spark、Apache Hadoop和EMR在内的集成架构。Kafka用于实时流数据处理,Elasticsearch用于快速搜索和分析,...
2. Microsoft Azure HD Insight:Azure上的大数据分析服务,支持Hadoop、Spark、HBase、Storm和Kafka等多种开源工具,提供安全的企业级环境,便于在云中进行大数据处理。 3. OpenStack Sahara:这是一个OpenStack...
AWS Linode 性能分析和远程监控 消息队列和集群控制 大数据/人工智能与机器学习 平台特定说明 语言扩展: StORM,Swift ORM StORM不作为Perfect.org项目分发; 但是,Perfect库是其运行不可或缺的组成部分,并且...
4. AWS和Azure服务:Amazon Web Services(AWS)和Microsoft Azure都提供了丰富的Java SDK,使得开发者可以方便地利用云计算资源,如EC2(弹性计算云)、S3(简单存储服务)和Lambda(无服务器计算)。 总结,Java...
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`,可以根据需要进行定制。...
【大数据处理框架选型分析】 大数据处理框架是应对大规模数据集处理需求的...同时,随着云计算的发展,许多云服务商提供了托管的大数据服务,如AWS的EMR、Azure的HDInsight,这为企业提供了更灵活的部署和管理选项。
['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
11. **云计算与大数据**:云计算平台(如AWS、Azure、Google Cloud)上的大数据服务,如EMR(Elastic Map Reduce)、HDInsight、BigQuery等。 12. **大数据架构设计**:如何根据业务需求设计可扩展、高可用、高效率...
例如,亚马逊云(AWS)的Amazon EMR提供了一个托管的Hadoop框架,该框架基于CDH进行了优化,并且与开源版本Hadoop兼容,集成了Spark、Presto、Flink等计算框架,但不支持Storm。同时,它还提供了消息队列服务Kinesis...
- Storm:实时流处理系统的概念和工作流程。 - Hive、Pig、HBase等大数据处理工具的用途和比较。 4. **大数据分析与挖掘**: - 数据预处理:清洗、集成、转换和规约等步骤。 - 分析方法:描述性分析、预测性...