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

news/2024/5/20 2:31:58 标签: hadoop, hdfs, 大数据

1.背景

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

2.集群迁移步骤

2.1 数据迁移

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 建表语句导出

[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
#创建数据库后,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
scp -P 12898 hadoop@xxx:/data/tablesDDL.txt /data

2.2.4 运行文件

SQL
[root@hadoop101 module]# hive -f tablesDDL.txt

2.2.5 修复分区

[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

http://www.niftyadmin.cn/n/5290518.html

相关文章

虎克:蓝牙定位设备分哪几类,在蓝牙设备开发对接时需要注意什么?

市场上的蓝牙定位设备可以分为四类: 第一类:蓝牙网关房间级定位 核心设备是蓝牙网关,通过蓝牙网关,结合RSSI对做到房间级别的定位,这个方案非常适合资产管理场景。 因为一般的企业库存或者重要的资产管理只需要做到…

std::unordered_map 简单使用

目录 std::unordered_map介绍 初始化方式: 1. 直接初始化: 2. 复制初始化: 3. C11 之后的 emplace 初始化: 赋值方式: 1. 使用 operator[] 进行赋值: 2. 使用 insert 函数: 3. 使用范围…

oj 1.8编程基础之多维数组 12:变幻的矩阵

描述 有一个N x N&#xff08;N为奇数&#xff0c;且1 < N < 10&#xff09;的矩阵&#xff0c;矩阵中的元素都是字符。这个矩阵可能会按照如下的几种变幻法则之一进行变幻&#xff08;只会变幻一次&#xff09;。 现在给出一个原始的矩阵&#xff0c;和一个变幻后的矩阵…

【数据结构和算法】找出两数组的不同

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 哈希类算法题注意事项 2.2 方法一&#xff1a;哈希法 三、代码 3.1 方法一&#xff1a;哈希法 四…

开发Python网络爬虫应用,爬取链家新房楼盘信息保存到mongodb中,并分析相关数据

这里写自定义目录标题 爬取代码分析数据问题 爬取代码 import requests import time from lxml import html from pymongo import MongoClient import randomBASEURL https://cq.fang.lianjia.com/loupan/# 获取某市区域的所有链接 def get_areas(url):print(获取区县列表)# …

Python-docx 深入word源码 带有序号的段落无法设置段后、段前距离、间距等段落属性

如果使用p doc.add_paragraph(内容, styleList Number)来创建序号段落&#xff0c;会发现设置序号段落之间的段前、段后以及段落间距无法生效。后来将docx库生成的word文档打开后发现段落的设置出现问题&#xff0c;如下图红框所示&#xff0c;将该选项去掉即可使段落间距属性…

深度学习基础知识神经网络

神经网络 1. 感知机 感知机&#xff08;Perceptron&#xff09;是 Frank Rosenblatt 在1957年提出的概念&#xff0c;其结构与MP模型类似&#xff0c;一般被视为最简单的人工神经网络&#xff0c;也作为二元线性分类器被广泛使用。通常情况下指单层的人工神经网络&#xff0c…

【数据库系统概论】第5章-数据库完整性

文章目录 引言5.1 实体完整性5.2 参照完整性5.3 用户定义的完整性5.4 完整性约束命名子句5.6 触发器 引言 数据库的完整性是指数据的正确性和相容性。 正确性&#xff1a;符合现实语义、反映当前实际情况。性别必须为男或女。 相容性&#xff1a;数据库同一对象在不同关系表中…