我最近一直在和Hadoop玩。我已经启动并运行了一个六节点集群--使用HDFS,并运行了许多MapRed作业。到现在为止还好。然而,我现在希望用更多的节点来更系统地完成这个任务。我们的基本系统是Ubuntu,当前的设置使用apt (安装正确的java运行时)和ssh/scp (传播各种conf文件)来管理。显然,随着时间的推移,这是不可伸缩的。
有谁有管理hadoop集群的良好系统经验(可能稍微有点异类:不同的磁盘大小、每个节点上不同数量的cpus )?我会考虑无盘引导--但是想象一下,在一个大型集群中,让集群启动和运行可能是瓶颈--在为操作系统服务的机器上。还是某种形式的分布式debian易于使机器本机环境保持同步?人们如何在多台(可能是异构的)计算机上成功地管理conf文件?
非常感谢,
亚历克斯
发布于 2011-03-15 09:47:28
我建议尽可能保持您的节点相似。正如您已经发现的,每个节点的不同设置会使生活变得困难。
我目前运行的集群每个都有完全相同的每个框,这意味着我对每个节点的所有配置都是相同的。配置存储在NFS homedir上。这些机器作为标准CentOS安装,然后应用CFengine策略来处理CDH /hbase包的安装,设置为使用共享配置。一旦启动了守护进程,机器将自动成为集群的一部分。
通常,我强烈建议使用CFengine、傀儡、厨师或其他配置系统之一。这使得生活变得简单多了,特别是当你所有的配置都不同的时候。这也意味着您只需安装一个标准的操作系统,然后应用这些策略来处理所有的安装和配置。不需要网络启动。
对于不同的配置,稍微令人沮丧的是,像hdfs-site.xml和mapred-site这样的配置文件不能使用继承,比如为特定的节点提供一个通用文件,然后使用一些特定的设置,比如datadir或映射槽的数量。因此,您可能需要做的是拥有一个通用文件,并将其与节点的特定设置合并,然后将其作为节点的配置推送出去。
https://serverfault.com/questions/244728
复制相似问题