《Storm实时数据处理》一1.6 创建Storm集群——配置Storm

1.6 创建Storm集群——配置Storm

当拥有一组准备好进行应用程序配置的虚拟机后,你就可以在每个节点上安装和配置适当的软件包了。

1.6.1 实战

Step01 按照图1-7所示的目录结构,新建名为storm-puppet的项目。

Step02 在配置好的节点上,Puppet的运行入口(起点)是site.pp。在manifests目录下新建site.pp并添加以下内容:

Step03 接着,你需要定义Storm模块。模块应该放置于modules目录下,并且和Puppet项目根目录的结构一样,拥有自己的manifests和template目录结构。在Storm模块目录中创建必要的清单文件(modules/storm/manifests),首先创建init.pp:

Step04 每个storm节点上安装Storm应用程序的方法都是一样的,只是配置需要通过预先定义好的模板,根据实际情况进行调整。接着,我们来创建install.pp文件,该文件会指定需要下载和安装的二进制文件:

这里的install清单文件是建立在Ubuntu的Debian安装包基础之上的。它基于脚本构建,并可以根据需求进行调整。二进制文件和创建脚本可以在https://bitbucket.org/qanderson/storm-deb-packaging找到。
将会安装以下包:

Step05 每个节点的配置是通过基于模板产生的配置文件生成的。在storm清单目录下创建config.pp:

Step06 所有storm参数都通过Hiera定义。Hiera则会使用storm清单目录下params.pp定义的Hiera配置:

由于属性的数量过多,因此在此省略了配置的其他内容。请到位于https://bitbucket.org/ganderson/storm-puppet/src的Git代码仓库获取完整的清单文件。
Step07 然后指定每个节点类。我们先定义nimbus类:

然后是supervisor类:

接着是ui类:

最后指定zoo类(供zookeeper节点使用):

Step08 创建好所有文件后,初始化Git代码仓库并提交至bitbucket.org。
Step09 为了确保配置生效,我们还要回到vagrant-storm-cluster目录并执行以下命令:

Step10 如果你想通过ssh访问任意一个节点,只需执行下面的命令:

将nimbus替换为你所需的节点名。

1.6.2 解析

在使用Puppet过程中,可以应用多种不同的模式。最简单的方法是使用分布式模型,在这种模式下,每一个节点进行自主配置,这与使用Puppet Master的集中式模式完全不同。 在分布式模型中,若要更新服务器配置,只需更新配置清单,并将配置清单提交到集中式Git代码仓库即可。所有节点随后会获取并应用这些配置。可以通过cron jobs、触发器,或者使用如Jenkins、Bamboo、Go这样的持续集成工具完成这项工作。使用以下命令调用Vagrant,在开发环境中进行配置:

这时Puppet就会应用清单文件。Puppet是一个使用声明式语言的配置管理工具,其中每一个语言元素都定义了期望的状态以及获得该状态的方法。也就是说,当系统已经处于所需状态下时,Puppet就会跳过特定的配置步骤,也就避免了重复配置的不利影响。
每个节点都会克隆storm-puppet项目,并在其本地应用清单配置。每个节点只应用与自己对应的配置项,而应用哪一项配置取决于site.pp清单中定义的主机名,比如:

在这种情况下,nimbus节点将包含cluster1的Hiera配置,然后将会安装nimbus和ui节点。由于在node定义中可以包含任意类的组合,因此你能够方便地定义整个环境。

时间: 2024-08-03 06:39:05

《Storm实时数据处理》一1.6 创建Storm集群——配置Storm的相关文章

《Storm实时数据处理》一导读

前 言 开源已经在许多方面从根本上改变了软件的原有面貌.在很多应用环境中,人们都会争论使用开源带来的好处和坏处,主要体现在支持.风险以及总体拥有成本等方面.开源在某些领域比其他领域流行,比如在研究机构中就比在大型金融服务提供商中应用得多.在某些新兴领域,比如Web服务供应商.内容供应商以及社交网络等,开源软件占据主导地位.其原因是多方面的,其中成本是一个非常大的因素.怎么说呢?如果方案要上升到网络规模,那么一般会应用"大数据"解决方案,以期获得更好的效果.凭借极佳的可用性,这些解决方案

《Storm实时数据处理》一1.5 创建Storm集群——配置机器

1.5 创建Storm集群--配置机器 本地模式下测试集群对调试和验证集群的基本功能逻辑很有帮助.但是,这并不代表你就能够了解集群在实际环境中运行的状况.此外,只有当系统已经在产品环境中运行时,开发工作才算真正完成.任何开发者都应该重视这一点,并且这也是整个DevOps实践的基础.无论采用什么方法,你都必须能够将代码可靠地部署到产品环境中.本节将展示如何直接通过版本控制创建和配置一个完整的集群.在此之前,需要事先说明一些有关创建和配置集群的基本原则: 我们需要时刻了解服务器的会话状态.在没有严格

《Storm实时数据处理》一1.10 将产品部署到集群

1.10 将产品部署到集群 在完成整个开发过程之前,我们需要对集群中的Topology进行功能性测试,然后再将其部署到下个环境中. 1.10.1 实战 Step01 首先需要在主机开发环境中配置Storm客户端,在用户主目录下创建.storm目录.然后在这个目录下新建storm.yaml,内容如下: Step02 在项目根目录下,使用以下命令打包Topology: Step03 这样就会在项目的目标目录下生成一个完整并打包好的JAR文件.这时就可以用storm客户端命令将JAR包部署到集群上:

《Storm实时数据处理》一1.9 实现集成测试

1.9 实现集成测试 由于环境和使用者的差异,集成测试可能会代表多种不同的概念.在本书中,集成测试指的是根据事先定义的输入和输出点,通过端到端的方法测试本地集群Topology的方法.这样就能确保在部署到实际的集群环境之前对Topology进行完整的功能性验证. 1.9.1 实战 Step01 在src/test/java目录下的storm.cookbook包中创建IntegrationTestTopology类.我们在这里添加一个"测试Bolt"类,以便于搭建本地Topology:

《Storm实时数据处理》一1.2 搭建开发环境

1.2 搭建开发环境 开发环境涵盖了构建Storm Topology所需的各种工具和系统.虽说本书重点关注的是每个有技术侧重点的Storm交付,但需要指出的是,对于一个软件开发团队来说,无论使用集中式开发环境还是分布式开发环境,都需要更多的工具和流程来保证高效工作,而且不能仅仅局限于本书所讨论的内容.无论是为了将来的开发工作,还是为了实现书中的例子,以下几类工具和流程都是快速搭建开发环境必不可少的: SDK 版本控制 构建环境 系统配置工具 集群配置工具 书中描述的配置和安装方法都基于Ubunt

HDInsight如何创建Hadoop集群

HDInsight如何创建Hadoop集群   带大家一起看下微软Azure云中的Hadoop集群创建,首先你必须先创建个存储账号,然后新建Hadoop集群/HBase/Storm,等待21分钟左右,一个Hadoop集群就创建完成了,看图:                           转载请注明出处:http://blog.csdn.net/yangzhenping, 谢谢!

Spring实时统计与监控Spring-Dashboard及Spring集群Terracotta for Spring

http://yulimin.javaeye.com/blog/32531 关键字: Spring   Spring Cluster 集群 Dashboard 实时统计 监控Spring实时统计与监控Spring-Dashboard及Spring集群Terracotta for Spring 1.Spring实时统计与监控Spring-Dashboard http://www.spacebug.com/projects_spring-dashboard.html Spring-Dashboard

基于docker1.12创建swarm集群

       Docker 1.12 在 2016 年 7 月 28 日正式 GA,除了大量的在使用上的改进和 bug 修复外,最引人瞩目的是Docker原生支持了 Swarm 模式,而不是将Swarm作为一个容器对集群进行管理. 而docker1.12的操作命令并不向下兼容,于是过去所有创建swarm集群的文档都不能参考了,本文描述了基于docker1.12版本创建Swarm集群的过程. 1.主机环境 在阿里云上申请三个vpc网络的ECS,安装centos7.0的镜像,ip和角色分配如下: 1

如何为大型企业创建OpenPages集群环境

本文将着重介绍如何为大型企业创建 OpenPages 集群环境,帮助他们扩展应用规模,实现负载均衡,提高风险管理,增强安全控制. 2001 年:OpenPages 公司开始开发帮助企业管理复杂风险和合规管理措施的平台. 2002 年:依据萨班斯 - 奥克斯利法案,着重开发财务控制管理功能. 2006 年:拓展风险和合规管理的其它新领域,包括操作风险管理.政策和合规管理.资讯科技管治.内部审计管理. 2010 年:IBM 完成对 OpenPages 公司的收购.IBM 与 OpenPages 的结