数据恢复
HDFS文件属性恢复
根据导出的权限信息在目的集群的后台使用HDFS命令对文件的权限及属主/组信息进行恢复。
$HADOOP_HOME/bin/hdfs dfs -chmod <MODE> <path> $HADOOP_HOME/bin/hdfs dfs -chown <OWNER> <path>
Hive元数据恢复
在目的集群中安装并使用Sqoop命令将导出的Hive元数据导入MRS集群DBService。
$Sqoop_Home/bin/sqoop export --connect jdbc:postgresql://<ip>:20051/hivemeta --table <table_name> --username hive -password <passwd> --export-dir <export_from>
其中,各参数的含义如下:
- $Sqoop_Home:目的集群上Sqoop的安装目录。
- <ip>:目的集群上数据库的IP地址。
- <table_name>:待恢复的表名称。
- <passwd>:hive用户的密码。
- <export_from>:元数据在目的集群的HDFS地址。
命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。
HBase表重建
重启目的集群的HBase服务,使数据迁移生效。在启动过程中,HBase会加载当前HDFS上的数据并重新生成元数据。启动完成后,在Master节点客户端执行如下命令加载HBase表数据。
$HBase_Home/bin/hbase hbck -fixMeta -fixAssignments
命令执行完成后,重复执行如下命令查看HBase集群健康状态直至正常。
hbase hbck