关于 Amazon EC2 实例上的 Cloudera CDH 4.6 存储

关于 Amazon EC2 实例上的 Cloudera CDH 4.6 存储

我计划在 VPC 中的两个 m1.large 实例上安装 Cloudera CDH 4.6。Cloudera 在此处提供了特定于 EC2 的说明:http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Ent/latest/Cloudera-Manager-Installation-Guide/cmig_install_on_EC2.html

正如说明书中所述,“此向导在 AWS EC2 上配置的实例基于实例存储,因此当实例停止或终止时,所有数据都将丢失。”

我将频繁启动和停止实例。我不关心在 HDFS 上保留存储在 HBase 中的数据,但每次启动实例后我是否需要重新安装 Cloudera?我不清楚安装及其配置是否会被保留。

答案1

终止实例类型后,所有配置都将消失instance-store。因此,每次向集群添加新实例或创建新集群时,Cloudera Manager 都必须重新安装启动和运行所需的一切(取决于服务器的角色:hdfs、hive、hbase、namenode、datanode 等)

如果您需要自定义和特定配置,您可能应该考虑使用自定义 AMI(Cloudera Manager 允许您这样做)。但是,为了获得更大的灵活性,instance-store您可能应该创建一个 AMI,而不是创建EBS backedAMI。这种类型的 AMI/实例将允许您停止/重新启动/创建快照/创建另一个 AMI。此外,如果您想利用临时存储(更快),您还可以创建一个EBS backed具有临时存储作为附加设备的 AMI。

答案2

虽然从技术上来说,可以使用 EBS 支持的实例在 AWS 上创建 Hadoop 集群,但必须注意,这样做会阻止作为 Hadoop 架构基础的数据局部性。使用 EBS 支持的实例,您可以强制 Map Reduce 作业中的数据读取/写入进行网络传输。

为什么?因为 EBS 存储实际上是网络连接驱动器。MR 作业对数据节点的任何读取/写入都将使数据在数据节点的 RAM 和网络驱动器之间来回传输。

临时/实例存储是附加到该 EC2 实例的本地虚拟磁盘,因此速度最快。此外,如果您使用的是 HS1 EC2 实例,则实例存储针对顺序读取进行了优化,这正是 Hadoop 所做的。

EBS 存储针对随机 IO 进行了优化,因此在运行 Hadoop 作业时顺序 IO 会受到影响。

这就是权衡。

相关内容