《Storm分布式实时计算模式》——2.5 自动化集群配置

2.5 自动化集群配置

迄今为止,我们已经在命令行模式下手工配置了单节点伪集群。这种方法应对小规模集群当然是行得通,但当集群规模不断增加时,这种方式就变得难以维护了。考虑到配置十个,甚至成百上千节点的场景。配置任务可以通过脚本来自动执行,但即使是基于脚本的自动化解决方案在扩展性上也是有问题的。
幸运的是,已有一些有效的技术来帮助解决管理大规模服务器集群的配置和定制问题。Chef和Puppet都提供了声明式的配置方式,来定义机器的状态(意味着机器安装了哪些软件包,以及如何配置的)和分类(例如,一个Apache Web Server类机器需要安装Apache的httpd程序)。
服务器定制和配置过程的自动化是一个非常大的主题,超出了本书的范畴。我们的目的是使用Puppet中的一部分功能,介绍其基本的概念,同时鼓励大家进一步深入了解。

时间: 2025-01-21 17:42:01

《Storm分布式实时计算模式》——2.5 自动化集群配置的相关文章

《Storm分布式实时计算模式》——导读

前 言 目前对信息高时效性.可操作性的需求不断增长,这要求软件系统在更少的时间内能处理更多的数据.随着可连接设备数量不断增加,以及在众多行业领域广泛应用,这种信息需求已无处不在.传统企业的运营系统被迫处理原先只有互联网企业才会遇到的大规模数据.这种重大转变正不断瓦解传统架构和解决方案,传统上会将在线事务处理和离线分析分割开来.与此同时,人们正在重新勾勒从数据中提取信息的意义和价值.软件框架和基础设施也在不断进化,以适应这种新场景. 具体地说,数据的生成可以看作一连串发生的离散事件,这些事件流会伴

《Storm分布式实时计算模式》——1.4 Storm的并发机制

1.4 Storm的并发机制 在Storm的间接中提到过,Storm计算支持在多台机器上水平扩容,通过将计算切分为多个独立的tasks在集群上并发执行来实现.在Storm中,一个task可以简单地理解为在集群某节点上运行的一个spout或者bolt实例.为了理解storm的并发机制是如何运行的,我们先来解释下在集群中运行的topology的四个主要组成部分: Nodes(服务器):指配置在一个Storm集群中的服务器,会执行topology的一部分运算.一个Storm集群可以包括一个或者多个工作

《Storm分布式实时计算模式》——2.6 Puppet的快速入门

2.6 Puppet的快速入门 Puppet是一个IT自动化框架,用来帮助管理员管理大规模的网络设施资源,使用灵活的.声明式的实现方式来进行IT自动化管理.Puppet的核心是manifest的概念,它描述了一个设施资源对预期的声明(state).在Puppet中,声明包括了以下方面: 安装了哪些软件包. 运行着哪些服务,不运行哪些服务. 软件配置详情. 2.6.1 Puppet manifest文件Puppet使用了基于Ruby的DSL(Domain Specific Language)在一组

《Storm分布式实时计算模式》——1.3 实现单词计数topology

1.3 实现单词计数topology 前面介绍了Storm的基础概念,我们已经准备好实现一个简单的应用.现在开始着手开发一个Storm topology,并且在本地模式执行.Storm本地模式会在一个JVM实例中模拟出一个Storm集群.大大简化了用户在开发环境或者IDE中进行开发和调试.后续章节将会演示如何将本地模式下开发好的topology部署到真实的Storm集群环境.1.3.1 配置开发环境 新建一个Storm项目其实就是将Storm及其依赖的类库添加到Java classpath中.在

《Storm分布式实时计算模式》——2.1 Storm集群的框架

第2章 配置Storm集群 在本章中你将深入理解Storm的技术栈,它的软件依赖,以及搭建和部署Storm集群的过程.我们首先会在伪分布式模式下安装Storm,所有的组件都安装在同一台机器上,而不是在多台机器上.一旦你了解了安装和配置Storm的基本步骤,我们就可以通过Puppet这个工具进行自动化的安装,这样的话部署多节点的集群可以节省大量的时间和精力. 本章包括以下内容: 组成Storm集群的不同组件和服务 Storm的技术栈 在Linux上安装和配置Storm Storm的配置参数 Sto

《Storm分布式实时计算模式》——1.7 总结

1.7 总结 本章中,在没有安装和搭建Storm集群的情况下,我们使用Storm的核心API建立了一个简单的分布式计算程序,覆盖了Storm特性集的大部分内容.Storm的本地模式非常强大,简化了开发,提高了开发效率.但要感受到Storm真正的威力和水平扩展性,还是需要将程序部署在真实的集群上.下一章,我们会讲如何安装和搭建Storm集群环境,以及如何将topology部署到到分布式环境中.

《Storm分布式实时计算模式》——2.3 在Linux上安装Storm

2.3 在Linux上安装Storm Storm是设计运行在Unix兼容的操作系统上.但在0.9.1版本,它也支持在Windows机器上部署. 为了简化部署,我们使用Ubuntu 12.04LTS的发行版作为安装服务器.将会使用服务器版本,默认不包括图形界面接口,因为我们用不到..在实体机和虚拟机上安装ubuntu都是非常方便的.出于学习和开发的目的,你会发现在虚拟机里进行部署更加方便,尤其是手头没有那么多实体机的情况. OSX.Linux.Windows都有着对应的虚拟机软件.我们建议从下面集

《Storm分布式实时计算模式》——1.5 理解数据流分组

1.5 理解数据流分组 看了前面的例子,你会纳闷为什么没有增加ReportBolt的并发度.答案是,这样做没有任何意义.为了理解其中的原因,需要了解Storm中数据流分组的概念.数据流分组定义了一个数据流中的tuple如何分发给topology中不同bolt的task.举例说明,在并发版本的单词计数topology中,SplitSentenceBolt类指派了四个task.数据流分组决定了指定的一个tuple会分发到哪个task上.Storm定义了七种内置数据流分组的方式: Shuffle gr

《Storm分布式实时计算模式》——2.2 Storm技术栈简介

2.2 Storm技术栈简介 在安装Storm之前,我们来看看Storm和topology是基于哪些技术建立的.2.2.1 Java和ClojureStorm运行在Java虚拟机上,大部分是使用Java和Clojure进行开发的.Storm的主要接口都是通过Java语言定制的,Storm使用Python实现了可执行程序.除了这些程序,由于Java使用了Apache Thrift接口,Java还友好的兼容多种其他语言.Storm的组件(spout和bot)实际上可以使用任何当前服务器安装支持的语言