0

我对AWS上的CDH部署有些疑问。我阅读了参考架构文档和我在Cloudera Engineering Blog上找到的其他资料,但我需要更多关于它的建议。构建AWS上的Cloudera CDH群集:实例和存储

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

2)假设我想创建一个24x7活动的集群。对于长期运行的集群,我知道最好有一个基于本地存储实例的集群。如果我们考虑一组2PB,我认为d2.8xlarge应该是datanode的最佳选择。关于主节点: - 如果我只想部署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?在几分钟内连接和分离磁盘?

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

回答

1

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

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

CDH在失败时没有替换数据节点的机制。你可以自己推出一些东西,可能在Cloudera Director的帮助下。 3)您可以设置S3中数据的生命周期规则,将其从标准存储类迁移到Glacier中,也可以直接写入Glacier;它看起来不像直接冰川访问可以通过s3a连接器完成。我很确定distcp和S3不会摆弄压缩;你肯定会复制S3对S3的不透明。您可以快照EBS卷(根目录或附加附件),然后分离它们并将它们重新附加到不同的实例;这不一定是备份datanodes和distcp路由的好方法,因为每个datanode都是唯一的,并且在群集运行时具有不断变化的数据。

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

0

点3只:

  • 您需要DistCp使用到S3,并通过AWS设置其移至冰川
  • 它不会做任何的数据,压缩等
  • 看(hortonworks doc)Distcp and S3并阅读其警告/警告。特别是,增量distcp不是基于校验和,原子distcp不是,它只是“真正慢distcp”