如何在 EC2 - S3 或 EBS 实例上设置 Cloudera Hadoop 集群?我在具有 EBS 存储的 EC2 实例之一上有 Cloudera Manager。当我开始从 Cloudera Manager 创建 Hadoop 集群时,它会根据您指定的节点数开始创建新的 EC2 实例。它将请求实例,但问题是它会生成“实例存储”实例。
如何提供具有 EBS 或 S3 存储的现有实例?
任何想法?
如何在 EC2 - S3 或 EBS 实例上设置 Cloudera Hadoop 集群?我在具有 EBS 存储的 EC2 实例之一上有 Cloudera Manager。当我开始从 Cloudera Manager 创建 Hadoop 集群时,它会根据您指定的节点数开始创建新的 EC2 实例。它将请求实例,但问题是它会生成“实例存储”实例。
如何提供具有 EBS 或 S3 存储的现有实例?
任何想法?
这是设计使然:
为什么 Cloudera Manager 更喜欢实例存储支持而不是 EBS 支持的 AMI?尽管 EBS 卷提供持久存储,但它们是网络连接的,并且按 I/O 请求收费,因此它们不适合 Hadoop 部署。如果您想试验 EBS 支持的实例,您始终可以使用自定义 EBS AMI。
Hadoop 提供了在 S3 和 EBS 上读取和写入数据的方法,在 EBS 的情况下,您只需在实例上挂载磁盘并在 hadoop 中使用它。
但是在 S3 的情况下,将有一些额外的步骤通过使用core-site.xml 和 hdfs-site.xml 中的属性fs.s3n.awsAccessKeyId 和 fs.s3n.awsSecretAccessKey为 hadoop提供访问密钥和秘密密钥,如下所述
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>Access Key</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>Secret key</value>
</property>
然后在设置这个之后可以执行以下操作:
hadoop fs -ls s3n://Bucket_Name/
这将打印 S3 存储桶中的可用文件夹。