日期 | 版本 | 修订说明 | 修改人 |
2020-08-3 | V1.0.0 | 创建文档 | 王昱翔 |
引言
背景介绍
- Kudu表数据和hive表数据进行从阿里云迁移到私有云,数据300G需要进行迁移,固编写了此工具方便运维使用进行迁移Kudu表数据和hive表数据。
编写目的
- 指导本次运维进行kudu或者hive数据进行迁移
适用范围
- 甲方leader
- 运维开发人员
- 数据开发人员
角色职责
角色 | 职责 | 备注 |
PD | 需求提出者,发起需求评审,制定需求优先级,参与系分、测试评审; | 核心 |
设计人员 | 细分设计,制定开发计划,参与需求、测试评审 | 核心 |
运维人员 | 负责发布的执行;负责通知下游关联影响。 | 核心 |
- 其他
其他需要说明的内容。
1.需要修改变量
#修改变量 #kudu—hdfs目录 HDFS_KUDU_DIR=hdfs:///kudu-backups #脚本目录和日志目录 DIR=/opt/scripts/ LOG=/opt/scripts/log/ #hadoop家目录和impala无交互的密码 hadoop_home=/opt/cloudera/parcels/CDH-6.3.0-1.cdh6.3.0.p0.1279813 impala_script=$hadoop_home/lib/impala-shell/impala_shell.py impala_passwd=JtvUISiBxzKWZgeBcw55KhJq #impala jdbc地址和kudu_master地址 impala_jdbc=incubator-t3-dc-006 kudu_master=incubator-t3-dc-006,incubator-t3-dc-007,incubator-t3-dc-008 #导出表的名字和导入表的名字 export_name=test import_name=test_2 #kudu_hdfs_源目录和目标目录 transfer_source=hdfs://incubator-t3-dc-007:8020/kudu-backups transfer_target=hdfs://t3-test-cq-ecs-dtpbu-cdh-02:8020/kudu-backups #hive_hdfs_源目录和目标目录 hive_hdfs_source=hdfs://incubator-t3-dc-007:8020/user/hive/warehouse/db_test.db/ hive_hdfs_target=hdfs://t3-test-cq-ecs-dtpbu-cdh-02:8020/user/hive/warehouse/db_test.db/ echo "========================================" |
2.导出表数据结构
- 运行脚本执行1,然后选择要导出的数据库
table_name.txt #所有表的名字
store_name.txt #表的存储结构
3.导入表结构并创建表
- 需要修改以下个变量
#导出表的名字和导入表的名字
export_name=test
import_name=import_test
#执行点2
备份kudu表数据
- 执行3,备份kudu表数据到hdfs目录
Kudu_table_name.txt 所有kudu表
如果有数据报final status: FAILED,无影响,那是因为client没有反馈
如果无数据并报错final status: FAILED,请检查yarn-日志。
如需迁移:
需要修改以下2个变量
#kudu_hdfs_源目录和目标目录
transfer_source=hdfs://incubator-t3-dc-007:8020/kudu-backups
transfer_target=hdfs://t3-test-cq-ecs-dtpbu-cdh-02:8020/kudu-backups
#如果表数据存在,就会自动变成增量备份
#阿里云迁移到私有云test环境-kudu数据
4.还原kudu表数据
- 执行4即可
如果有数据报final status: FAILED,无影响,那是因为client没有反馈
如果无数据并报错final status: FAILED,请检查yarn-日志。
检查hue查看是否有数据,数据是否一致。
5.备份hive数据
- 脚本目录:
- 前提条件:需要首先创建scripts目录
mkdir -p /opt/scripts
echo "========================================"
echo "========= kudu tool ========="
echo "========= 1.导出表数据结构 ========="
echo "========= 2.导入表结构并创建表 ========="
echo "========= 3.备份kudu表 ========="
echo "========= 4.还原kudu表 ========="
echo "========= 5.备份hive表 ========="
echo "========= 6.退出 ========="
执行数字5即可