数据移植选项

Oracle 提供了多种用于迁移 HDFS 数据、使用 Oracle 数据传输设备批量数据迁移以及群集元数据迁移的选项。

数据迁移准则

在您决定需要移动的数据以及如何在 Oracle Cloud Infrastructure 中组织数据之后,确定用于将数据从当前位置移动到 Oracle Cloud Infrastructure 的方法。此过程的关键组件是到 Oracle Cloud Infrastructure 的连接。吞吐量取决于连接的大小。

Oracle Cloud Infrastructure 支持许多级别的连接。连接可以在 10 Mbps 到 10 Gbps 的任意位置范围内。考虑数据集的大小和连接吞吐量,数据的迁移可能简单,也可能需要专门的设备(例如数据传输服务)来移动数据。

下表根据连接带宽和数据集大小,显示了将数据移动到 Oracle Cloud Infrastructure 所需时间的合理预期结果。
  近似数据上载时间
数据集大小 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 Cloud Infrastructure也可以将当前驻留在 Oracle Cloud Infrastructure 中的数据导出到数据中心脱机。由于网络成本高、网络连接不可靠、传输时间长以及安全问题,通过公共互联网移动数据并非始终可行。我们的传输解决方案可以解决这些生产点,使用更容易,可以提供与线上数据传输相比的更快的数据上载。
  • 基于磁盘的数据传输-将数据作为加密商品磁盘上的文件发送到 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 相同的过程。