EMR集群迁移自建Hadoop(元数据及HDFS数据)

1.背景

老集群采用的腾讯emr集群,使用过程中磁盘扩容成本费用高且开源组件兼容性存在问题,因此决定采用自建hadoop集群,需要将emr的元数据和hdfs基础数据迁移过来。

EMR版本:3.1.2

自建Hadoop版本:3.1.3

2.集群迁移步骤

2.1 数据迁移

bash 复制代码
nohup hadoop distcp -i -p hdfs://emrhdf存储地址/usr/hive/warehouse/* hdfs://自建hadoop集群地址/usr/hive/warehouse/ >/data/temp.log 2>&1 &
# distcp即dist分布式,cp复制。用于在集群内部及集群之间复制数据。即分布式复制。
# 使用例子:
使用distcp.bytes.per.map控制map数量,mapreduce.job.queuename指定队列,mapreduce.job.name指定job名称
hadoop distcp -Ddistcp.bytes.per.map=1073741824 -Dmapreduce.job.queuename=hive -Dmapreduce.job.name=cpdata hdfs://cloudcluster/apps/hive/warehouse/db/data hdfs://xxxx:8020/user/hive/warehouse/db/data

2.2 元数据迁移

2.2.1 建表语句导出

bash 复制代码
[root@hadoop101 module]# vim exportHive.sh
#!/bin/bash
hive -e "use databashe;show tables" >tables.txt
cat tables.txt | while read eachline
do
hive -e "use databashe;show create table $eachline" >>tablesDDL.txt
echo ";" >> tablesDDL.txt
done

2.2.2 替换不合适的内容

bash 复制代码
Bash
#创建数据库后,tablesDDL.txt文本中,在最上方加上use databashe;
[root@hadoop101 module]# sed -i "s#HDFS85410#mycluster#g" tablesDDL.txt
#方法二:sed -i "s/原字符串/新字符串/g" grep 原字符串 -rl 所在目录
#代码示例:
sed -i "s#xxxx:8020#xxxx#g" 'grep mahuinan -rl ./'

2.2.3 表定义语句复制到另一个集群

bash 复制代码
Bash
scp -P 12898 hadoop@xxx:/data/tablesDDL.txt /data

2.2.4 运行文件

bash 复制代码
SQL
[root@hadoop101 module]# hive -f tablesDDL.txt

2.2.5 修复分区

bash 复制代码
[root@hadoop101 module]# vim msckPartition.sh
#!/bin/bash
hive -e "use databashe;show tables">tables.txt
cat tables.txt |while read eachline
do
hive -e "use databashe;MSCK REPAIR TABLE $eachline"
done
[root@hadoop101 module]# chmod +777 msckPartition.sh
[root@hadoop101 module]# ./msckPartition.sh
相关推荐
hashiqimiya8 小时前
windows的hadoop集群环境直接配
大数据·hadoop·分布式
AI营销先锋9 小时前
原圈科技GEO解密:AI营销变革下,如何抢占增长先机?
大数据·人工智能
pingao14137810 小时前
智慧井盖传感器:革新传统,开启地下管网智能运维新时代
大数据
云飞云共享云桌面10 小时前
非标自动化研发成本高?云飞云共享云桌面:1台主机=10台工作站,年省数十万。
大数据·运维·服务器·人工智能·自动化·云计算·电脑
互联网江湖12 小时前
快手营收利润双增,可灵AI会不会成为第二个Seedance?
大数据·人工智能
KANGBboy12 小时前
ES 父子索引使用
大数据·elasticsearch·搜索引擎
pp起床12 小时前
Part02:基本概念以及基本要素
大数据·人工智能·算法
Gauss松鼠会13 小时前
【GaussDB】LLVM技术在GaussDB等数据库中的应用
大数据·数据库·架构·数据库开发·gaussdb·llvm
易天ETU14 小时前
100G BIDI 80km ZR4光模块:长距离传输的革新力量
大数据·光模块·易天光通信
七夜zippoe14 小时前
OpenClaw 接入 Discord:从零开始
大数据·人工智能·microsoft·discord·openclaw