Storm是什么:如果只用一句话来描述storm的话,可能会是这样:分布式实时计算系统。按照storm作者的说法,storm对于实时计算的意义类似于hadoop对于批处理的意义。我们都知道,根据google mapreduce来实现的hadoop为我们提供了map, reduce原语,使我们的批处理程序变得非常地简单和优美。对比Hadoop的批处理,Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm可以扩展到不同的机器上进行大批量的数据处理,他同样还有其他一些特性。Storm的架构:Storm的集群由一个主节点和多个工作节点组成。主节点运行了一个名为“nimbus”的守护进程,用于分配代码、布置任务及故障检测。每个工作节点都运行了一个名为“supervisor”的守护进程,用于监听工作,开始并终止工作进程。Nimbus和Supervisor都能快速失败,而且是无状态的,这样一来他们都变得十分健壮,两者的协调工作是由Zookeeper来完成的。Zookeeper用于管理集群中的不同组件。ZeroMQ是内部消息系统,JZMQ是ZeroMQ的Java Binding。有个 香港云主机名为storm-deploy的子项目,可以在AWS上一键部署Storm集群。
Storm优势:a.简单的编程模型。类似于MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂性。b.服务化,一个服务框架,支持热部署,即时上线或下线App。c.可以使用各种编程语言。你可以在Storm之上使用各种编程语言。默认支持Clojure、Java、Ruby和Python。要增加对其他语言的支持,只需要实现一个简单的Storm通信协议即可。d.容错性。Storm会管理工作进程和节点故障。e.水平扩展。计算是在多个线程、进程和服务器之间并行进行的。f.可靠的消息处理。Storm保证每个消息至少能得到一次完整处理。任务失败时,它会从消息源重试消息。g.快速。系统的设计保证了消息能得到快速的处理,使用ZeroMQ作为其底层的消息队列。h.本地模式。Storm有一个“本地模式”,可以在处理过程中完全模拟Storm集群。这让你可以快速进行开发和单元测试。Storm存在的问题:a、目前的开源版本中只是单节点nimbus,挂掉只能自动重启,可以考虑实现一个双nimbus的布局。b、Clojure是一个在JVM平台运行的动态函数式编程语言,优势在于流程计算,Storm的部分核心内容由Clojure编写,虽然性能上提高不少但同时也提升了维护成本。storm的适用场景:流数据处理。Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去。分布式rpc。由于storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式rpc框架来使用。当然,其实我们的搜索引擎本身也是一个分布式rpc系统。
这篇文章主要介绍了win10怎么设置垃圾文件不经过回收站直接删除的相关知识,内容详细易懂 香港云主机,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win10怎么设置垃圾文件不经过回收站直接删除文章都会有所收获,下面我们一起来看看吧。设置方法:1.登录到w…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。