数据移植选项
Oracle 提供了多种用于迁移 HDFS 数据、使用 Oracle 数据传输设备批量数据迁移以及群集元数据迁移的选项。
数据迁移准则
在您决定需要移动的数据以及如何在 Oracle Cloud Infrastructure 中组织数据之后,确定用于将数据从当前位置移动到 Oracle Cloud Infrastructure 的方法。此过程的关键组件是到 Oracle Cloud Infrastructure 的连接。吞吐量取决于连接的大小。
Oracle Cloud Infrastructure 支持许多级别的连接。连接可以在 10 Mbps 到 10 Gbps 的任意位置范围内。考虑数据集的大小和连接吞吐量,数据的迁移可能简单,也可能需要专门的设备(例如数据传输服务)来移动数据。
近似数据上载时间 | |||||
---|---|---|---|---|---|
数据集大小 | 10Mbps | 100Mbps | 1 Gbps | 10 Gbps | 数据传输服务 |
10 TB | 92 天 | 9 天 | 22 小时 | 2 小时 | 1 周 |
100 TB | 1,018 天 | 101 天 | 10 天 | 24 小时 | 1 周 |
500 TB | 5,092 天 | 509 天 | 50 天 | 5 天 | 1 周 |
1 PB | 10,185 天 | 1,018 天 | 101 天 | 10 天 | 2 周 |
数据传输服务
- 基于磁盘的数据传输-将数据作为加密商品磁盘上的文件发送到 Oracle 传输站点。Oracle 传输站点上的运算符将文件上载到租户中的指定对象存储或归档存储桶。
- 基于设备的数据传输-可以将数据作为安全高容量、Oracle 提供的存储设备发送到 Oracle 传输站点。Oracle 传输站点上的运算符会将数据上载到租户中的指定对象存储或归档存储桶。
HDFS 迁移
您可以采用几种不同的方式将数据从外部 HDFS 迁移到 Oracle Cloud Infrastructure。
主要考虑因素是需要移动多少数据,在移动数据时所需的时间和资源中,是否可以通过网络实际移动数据"。如果有足够的带宽和源群集资源来支持它,则两个选项相关:
- DistCp 到对象存储
- DistCp 到 HDFS
对于对象存储副本,只有源集群需要 Internet 连接,以及 HDFS 连接器(Apache Hadoop)或 S3 兼容性设置(Cloudera 和 Hortonworks)。如果使用 S3 兼容性,则只能将数据复制到租户的主区域中。
在满足先决条件后,您可以通过对源 HDFS 目标运行 DistCp 将数据传输到对象存储桶来传输数据。以下语法演示了“美国东部”(Ashburn)区域“对象存储”中的副本(将变量替换为正确的值):
hadoop distcp -Dfs.s3a.secret.key='<SECRET_KEY>'
-Dfs.s3a.access.key='<ACCESS_KEY>' \
-Dfs.s3a.path.style.access=true
-Dfs.s3a.paging.maximum=1000 \
-Dfs.s3a.endpoint='https://<object_storage_namespace>.compat.objectstorage.us-ashburn-1.oraclecloud.com' \
/hdfs_target s3a://<BUCKET_NAME>/
反之,可以切换 HDFS 目标和 S3 目标将数据从对象存储复制到 HDFS 中。此方法适用于 Cloudera、Hortonworks 和 Apache Hadoop。
第二种选择是在 Oracle Cloud Infrastructure 中建立 Hadoop 集群,确保源集群和 Oracle Cloud Infrastructure 集群具有连接性,并在集群之间运行 DistCp。此方法还适用于 Apache Hadoop、Cloudera 和 Hortonworks。
对于 MapR 集群,通过在集群之间设置卷远程镜像来迁移数据。
数据传输设备
通过线路移动数据不适用时,Oracle 数据传输设备是用于数据传输的另一个选项。
源集群上可能存在带宽或资源约束条件,或者与 Oracle Cloud Infrastructure 区域接近可能会限制 FastConnect 可用性。数据集也可能太大,无法复制。在这些情况下,Oracle 可以向您发送一个数据传输设备,您可以在数据中心部署该设备并将其用作 HDFS 数据的 DistCp 目标。
集群元数据迁移
将集群元数据迁移到 Oracle Cloud Infrastructure 的方法会随 Cloudera、Hortonworks、MapR 和 Apache 的不同而有所不同。
Cloudera
对于 Cloudera 集群,集群元数据支持三种类型的数据库:Postgres、MySQL 和 Oracle。
Cloudera 企业文档中包含备份 Cloudera 管理器数据库的步骤。然后,您可以将此数据导入到在 Oracle Cloud Infrastructure 上运行 Cloudera 的集群。
临时工
对于 Hortonworks,Cloudera 支持相同的数据库。对于不透明的情况,您可以从现有集群导出蓝图,然后使用它来配置 Oracle Cloud Infrastructure 主机-工作部署。
MapR
请按照 MapR 用于备份 MapR 文档的最佳实践中的步骤进行操作。然后,可以将此数据导入 Oracle Cloud Infrastructure MapR 集群。
Apache
对于 Apache Hadoop,Cloudera 和 Hortonworks 支持同一数据库,使用与 Ambari、Hive 和 HBase 相同的过程。