前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将 Kudu 数据迁移到 CDP

将 Kudu 数据迁移到 CDP

作者头像
大数据杂货铺
发布2021-10-09 14:53:40
1.3K0
发布2021-10-09 14:53:40
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺

这是CDH/HDP/Apache Hadoop迁移到CDP系列的博客,如对迁移感兴趣,请关注该系列之前博客《使用 Replication Manager 迁移到CDP 私有云基础》、《将数据迁移到CDP 私有云基础的数据迁移用例》、《将Hive数据迁移到CDP》。

了解如何将 Kudu 数据从 CDH 迁移到 CDP。

当您将 Kudu 数据从 CDH 迁移到 CDP 时,您必须使用 Kudu 备份工具来备份和恢复您的 Kudu 数据。

  1. 使用 kudu-backup-tools.jar Kudu 备份工具备份 Kudu 中的所有数据。
  2. 在旧集群中的新集群中手动应用任何自定义 Kudu 配置。
  3. 将备份的数据复制到目标 CDP 集群。
  4. 使用 Kudu 备份工具恢复备份 Kudu 数据。

在 Kudu 中备份数据

您可以使用Kudu 备份工具kudu-backup-tools.jar 备份Kudu 中的所有数据。

Kudu 备份工具运行 Spark 作业,该作业会根据您指定的内容构建备份数据文件并将其写入 HDFS 或 AWS S3。请注意,如果您要备份到 S3,则必须提供 S3 凭据以进行 spark-submit,如指定凭据以从 Spark 访问 S3 中所述

Kudu 备份工具在第一次运行时为您的数据创建完整备份。随后,该工具会创建增量备份。

重要

增量备份和恢复功能仅适用于 CDH 6.3.0 及更高版本。因此,如果您有活动的摄取过程,例如 Spark 作业、Impala SQL 批处理或 Nifi 在 Kudu 中插入或更新数据,您可能需要在开始完整备份之前暂停这些过程,以避免在开始 Kudu 备份过程后丢失数据更改.

运行以下命令以启动备份过程:

代码语言:javascript
复制
spark-submit --class org.apache.kudu.backup.KuduBackup <path to kudu-backup2_2.11-1.12.0.jar> \
--kuduMasterAddresses <addresses of Kudu masters> \
--rootPath <path to store the backed up data> \
<table_name>

其中

  • --kuduMasterAddresses用于将 Kudu 大师的地址指定为逗号分隔的列表。例如, master1-host,master-2-host,master-3-host哪些是 Kudu 大师的实际主机名。
  • --rootPath用于指定存储备份数据的路径。它接受任何 Spark 兼容的路径。
    • HDFS 示例:hdfs:///kudu-backups
    • AWS S3 示例:s3a://kudu-backup/

如果您正在备份到 S3 并看到“线程“main”中的异常java.lang.IllegalArgumentException:路径必须是绝对的”错误,请确保 S3 路径以正斜杠 ( /)结尾。

  • <table_name> 可以是要备份的表或表列表。

例子:

代码语言:javascript
复制
spark-submit --class org.apache.kudu.backup.KuduBackup /opt/cloudera/parcels/CDH-7.2.1-1.cdh7.2.1.p0.4041380/lib/kudu/kudu-backup2_2.11.jar \
--kuduMasterAddresses cluster-1.cluster_name.root.hwx.site,cluster-2.cluster_name.root.hwx.site \
--rootPath hdfs:///kudu-backups \
my_table

将 Kudu 数据恢复到新集群中

在 Kudu 中备份数据后,您可以将数据复制到目标 CDP 集群,然后使用 Kudu 备份工具将其恢复。

如果您在旧集群中应用了任何自定义 Kudu 配置,那么您必须手动在目标集群中应用这些配置。

如果您更改了 的值tablet_history_max_age_sec并计划在目标集群上运行 Kudu 的增量备份,我们建议将其重置tablet_history_max_age_sec为默认值 1 周(请参阅https://issues.apache.org/jira/browse/KUDU-2677)。

常用修改配置标志的示例:

  • rpc_max_message_size
  • tablet_transaction_memory
  • rpc_service_queue_length
  • raft_heartbeat_interval
  • heartbeat_interval_ms
  • memory_limit_hard_bytes
  • block_cache_capacity_mb

手动应用自定义配置后,重新启动 Kudu 集群。

  1. 通过以下方式之一将备份的数据复制到目标 CDP 集群:
    • 使用 distcp:
代码语言:javascript
复制
sudo -u hdfs hadoop distcp hdfs:///kudu/kudu-backups/* hdfs://cluster-2.cluster_name.root.hwx.site/kudu/kudu-backups/
  1. 运行以下命令在目标集群上恢复备份:
代码语言:javascript
复制
spark-submit --class org.apache.kudu.backup.KuduRestore <path to kudu-backup2_2.11-1.12.0.jar> \
--kuduMasterAddresses <addresses of Kudu masters> \
--rootPath <path to the stored backed up data> \
<table_name>

其中

  • HDFS 示例:hdfs:///kudu-backups
  • AWS S3 示例:s3a://kudu-backup/
  • --kuduMasterAddresses用于将 Kudu 大师的地址指定为逗号分隔的列表。例如,master1-host,master-2-host,master-3-host 哪些是 Kudu 大师的实际主机名。
  • --rootPath 用于指定存储备份数据的路径。它接受任何与 Spark 兼容的路径。

如果您已备份到 S3 并看到“线程“main”中的异常java.lang.IllegalArgumentException:路径必须是绝对的”错误,请确保 S3 路径以正斜杠 ( /)结尾。

    • <table_name> 可以是要备份的表或表列表。
    • 可选:--tableSuffix,如果设置,添加到恢复的表名就足够了。它只能在 createTables属性为 时使用 true。
    • 可选:--timestampMs是以毫秒为单位的 UNIX 时间戳,它定义了选择还原候选者时要使用的最晚时间。其默认值为 System.currentTimeMillis()。
代码语言:javascript
复制
sudo -u hdfs spark-submit --class org.apache.kudu.backup.KuduRestore /opt/cloudera/parcels/CDH-7.2.0-1.cdh7.2.0.p0.3758356/lib/kudu/kudu-backup2_2.11.jar \
--kuduMasterAddresses cluster-1.cluster_name.root.hwx.site \
--rootPath hdfs:///kudu/kudu-backups \
my_table
  1. 在 Cloudera Manager 中重启 Kudu 服务。

原文链接:https://docs.cloudera.com/cdp-private-cloud-upgrade/latest/data-migration/topics/cdp-data-migration-kudu.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这是CDH/HDP/Apache Hadoop迁移到CDP系列的博客,如对迁移感兴趣,请关注该系列之前博客《使用 Replication Manager 迁移到CDP 私有云基础》、《将数据迁移到CDP 私有云基础的数据迁移用例》、《将Hive数据迁移到CDP》。
    • 在 Kudu 中备份数据
      • 将 Kudu 数据恢复到新集群中
      相关产品与服务
      专用宿主机
      专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档