0

我对在 AWS 上部署 CDH 有一些疑问。我阅读了在 Cloudera 工程博客上找到的参考架构文档和其他材料,但我需要更多关于它的建议。

1) CDH 部署是否仅适用于某些类型的实例,或者我可以将它部署在所有 AWS 实例类型上?

2) 假设我想创建一个 24x7 全天候活动的集群。对于一个长时间运行的集群,我理解最好有一个基于本地存储实例的集群。如果我们考虑一个 2PB 的集群,我认为 d2.8xlarge 应该是数据节点的最佳选择。关于主节点: - 如果我只想部署 3 个主节点,最好将它们也作为本地存储实例还是作为 EBS 附加实例,以便能够对可能的主节点故障做出快速反应?- 是否有一些关于主节点实例类型(EBS 或本地存储)的最佳实践?关于数据节点: - 如果数据节点失败,CDH 是否有某种自动化机制来自动启动新实例并将其连接到集群,以便在不停机的情况下恢复集群?我们是否要从头开始构建一个脚本来做这件事?关于边缘节点: - 是否有关于实例类型(EBS 或本地存储)的最佳实践?

3) 如果我想在 S3 上备份集群: - 当我从 CDH 到 S3 进行 distcp 时,我可以将数据直接移动到 Glacier 而不是普通的 S3 上吗?如果我对数据应用了一些压缩(例如 snappy、gzip 等)并且我对 S3 进行了 distcp: - S3 上占用的空间是否相同或 distcp 命令解压缩数据以进行复制?

如果我有一个基于 EBS 附加实例的集群: - 是否可以对磁盘进行快照并使用从快照重建的 EBS 磁盘重新附加数据节点?

4) 如果我将数据节点部署为 r4.8xlarge 并且我需要更多的马力,是否可以将集群从 r4.8xlarge 即时扩展到 r4.16xlarge?在几分钟内连接和分离磁盘?

非常感谢您的澄清,我希望我的疑问也能帮助其他用户。

4

2 回答 2

1

1) CDH 组件可以工作的实例类型没有明确的限制,但您需要选择具有最小马力的类型。例如,我不希望微型实例适用于任何事情。太小的类型通常会导致守护进程耗尽内存。参考架构针对某些情况建议了实例类型。

2) 对于实例类型的根卷,您应该坚持使用 EBS。有几个原因,包括较新的实例类型甚至不支持根磁盘的本地实例存储。

CDH 没有在数据节点失败时替换数据节点的机制。您可以自己滚动一些东西,可能在 Cloudera Director 的帮助下。

3)您可以为S3中的数据设置生命周期规则,随着时间的推移将其从标准存储类迁移到Glacier,也可以直接写入Glacier;看起来不能通过 s3a 连接器直接访问 Glacier。我很确定 distcp 和 S3 不会摆弄压缩;您复制的内容肯定对 S3 是不透明的。您可以对 EBS 卷(根或附加附加)进行快照,然后将它们分离并重新附加到不同的实例;这不一定是备份数据节点与 distcp 路由的好方法,因为每个数据节点都是唯一的,并且在集群运行时具有不断变化的数据。

4) 您可以调整 EBS 支持的 EC2 实例的大小,而无需分离和重新附加磁盘。你必须停止一个实例来调整它的大小。

于 2017-07-06T01:35:25.617 回答
0

仅第 3 点:

  • 您需要 distcp 到 S3 并通过 AWS 设置将其移动到冰川
  • 它对数据、压缩等没有任何作用。
  • 请参阅(hortonworks doc)Distcp 和 S3 并阅读其警告/警告。特别是,增量 distcp 不是基于校验和的,原子 distcp 不是,它只是“非常慢的 distcp”
于 2017-07-06T21:24:32.253 回答