大数据技术之集群数据迁移

文章目录

  • 数据治理之集群迁移数据

数据治理之集群迁移数据

准备两套集群,我这使用apache集群和CDH集群。

img

启动集群

img

img

启动完毕后,将apache集群中,hive库里dwd,dws,ads三个库的数据迁移到CDH集群

img

img

在apache集群里hosts加上CDH Namenode对应域名并分发给各机器

[root@hadoop101 ~]# vim /etc/hosts

img

[root@hadoop101 ~]# scp /etc/hosts hadoop102:/etc/

[root@hadoop101 ~]# scp /etc/hosts hadoop103:/etc/

因为集群都是HA模式,所以需要在apache集群上配置CDH集群,让distcp能识别出CDH的nameservice

[root@hadoop101 hadoop]# vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

dfs.nameservices

mycluster,nameservice1

dfs.internal.nameservices

mycluster

dfs.ha.namenodes.mycluster

nn1,nn2,nn3

dfs.namenode.rpc-address.mycluster.nn1

hadoop101:8020

dfs.namenode.rpc-address.mycluster.nn2

hadoop102:8020

dfs.namenode.rpc-address.mycluster.nn3

hadoop103:8020

dfs.ha.namenodes.nameservice1

namenode30,namenode37

dfs.namenode.rpc-address.nameservice1.namenode30

hadoop104:8020

dfs.namenode.rpc-address.nameservice1.namenode37

hadoop106:8020

dfs.namenode.http-address.nameservice1.namenode30

hadoop104:9870

dfs.namenode.http-address.nameservice1.namenode37

hadoop106:9870

dfs.client.failover.proxy.provider.nameservice1

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.namenode.http-address.mycluster.nn1

hadoop101:9870

dfs.namenode.http-address.mycluster.nn2

hadoop102:9870

dfs.namenode.http-address.mycluster.nn3

hadoop103:9870

dfs.client.failover.proxy.provider.mycluster

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

修改CDH hosts

[root@hadoop101 ~]# vim /etc/hosts

img

进行分发,这里的hadoop104,hadoop105,hadoop106,分别对应apache的hadoop101,hadoop102,hadoop103

[root@hadoop101 ~]# scp /etc/hosts hadoop102:/etc/

[root@hadoop101 ~]# scp /etc/hosts hadoop103:/etc/

同样修改CDH集群配置,在所有hdfs-site.xml文件里修改配置

img

dfs.nameservices

mycluster,nameservice1

dfs.internal.nameservices

nameservice1

dfs.ha.namenodes.mycluster

nn1,nn2,nn3

dfs.namenode.rpc-address.mycluster.nn1

hadoop104:8020

dfs.namenode.rpc-address.mycluster.nn2

hadoop105:8020

dfs.namenode.rpc-address.mycluster.nn3

hadoop106:8020

dfs.namenode.http-address.mycluster.nn1

hadoop104:9870

dfs.namenode.http-address.mycluster.nn2

hadoop105:9870

dfs.namenode.http-address.mycluster.nn3

hadoop106:9870

dfs.client.failover.proxy.provider.mycluster

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

最后注意:重点由于我的Apahce集群和CDH集群3台集群都是hadoop101,hadoop102,hadoop103,所以要关闭域名访问,使用ip访问

CDH把钩去了

img

apache设置为false

img

再使用hadoop distcp命令进行迁移,-Dmapred.job.queue.name指定队列,默认是default队列。上面配置集群都配了的话,那么在CDH和apache集群下都可以执行这个命令

[root@hadoop101 hadoop]# hadoop distcp -Dmapred.job.queue.name=hive webhdfs://mycluster:9070/user/hive/warehouse/dwd.db/ hdfs://nameservice1/user/hive/warehouse

img

会启动一个mr任务,正在迁移

img

查看cdh 9870 http地址

img

img

img

数据已经成功迁移。数据迁移成功之后,接下来迁移hive表结构,编写shell脚本

[root@hadoop101 module]# vim exportHive.sh

#!/bin/bash

hive -e “use dwd;show tables”>tables.txt

cat tables.txt |while read eachline

do

hive -e “use dwd;show create table $eachline”>>tablesDDL.txt

echo “;” >> tablesDDL.txt

done

执行脚本后将tablesDDL.txt文件分发到CDH集群下

[root@hadoop101 module]# scp tablesDDL.txt hadoop104:/opt/module/

然后CDH下导入此表结构,先进到CDH的hive里创建dwd库

[root@hadoop101 module]# hive

hive> create database dwd;

创建数据库后,边界tablesDDL.txt,在最上方加上use dwd;

img

并且将createtab_stmt都替换成空格

[root@hadoop101 module]# sed -i s"#createtab_stmt# #g" tablesDDL.txt

最后执行hive -f命令将表结构导入

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

img

最后将表的分区重新刷新下,只有刷新分区才能把数据读出来,编写脚本

[root@hadoop101 module]# vim msckPartition.sh

#!/bin/bash

hive -e “use dwd;show tables”>tables.txt

cat tables.txt |while read eachline

do

hive -e “use dwd;MSCK REPAIR TABLE $eachline”

done

[root@hadoop101 module]# chmod +777 msckPartition.sh

[root@hadoop101 module]# ./msckPartition.sh

刷完分区后,查询表数据

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bff层解决了什么痛点

bff层 -- 服务于前端的后端 什么是bff? Backend For Frontend(服务于前端的后端),也就是服务器设计API的时候会考虑前端的使用,并在服务端直接进行业务逻辑的处理,又称为用户体验适配器。BFF只是一种逻辑…

idea连接redis

连接Redis通常需要使用编程语言提供的Redis客户端库。以下是连接Redis的一般步骤,以Python为例: 安装Redis客户端库:首先,您需要安装适用于您选择的编程语言的Redis客户端库。对于Python,您可以使用redis-py库&#xf…

【hcie-cloud】【2】华为云Stack解决方案介绍、缩略语整理 【下】

文章目录 华为文档获取方式、云计算发展背景、坚实基座华为云Stack,政企只能升级首选智能数据湖仓一体,让业务洞见更准,价值兑现更快MRS:一个架构可构建三种数据湖,业务场景更丰富离线数据湖:提供云原生、湖…

目标检测网络系列——YOLO V4

文章目录 目标检测技术总结两种优化方向Bag of freebiesBag of specialsYOLO4网络结构网络架构(architecture)的选择基础网络结构的选择网络"插件"的选择。BoF和BoS的选择(Selection of BoF and BoS)YOLO4的其他改进点对比实验不同的特征(数据增强方法)之间的对比det…

服务器感染了.locked勒索病毒,如何确保数据文件完整恢复?

引言: 网络安全威胁的不断演变使得恶意软件如.locked勒索病毒成为当今数字时代的一大挑战。.locked勒索病毒能够加密您的文件,然后要求支付赎金以解锁它们。本文将深入探讨.locked勒索病毒的特点,以及如何应对感染,以及预防这种类…

游戏中UI的性能优化手段

UI方面有许多性能优化的技术或手段,以下是其中一些常见的例子: 惰性加载:对于长列表、大图等需要加载大量数据和资源的组件,可以采用惰性加载的方式,即在用户需要时再进行加载。这样可以减少初始加载时间和内存占用&am…

3款免费又好用的 Docker 可视化管理工具

前言 Docker提供了命令行工具(Docker CLI)来管理Docker容器、镜像、网络和数据卷等Docker组件。我们也可以使用可视化管理工具来更方便地查看和管理Docker容器、镜像、网络和数据卷等Docker组件。今天我们来介绍3款免费且好用的 Docker 可视化管理工具。…

网络安全深入学习第八课——反向代理(工具:frp)

文章目录 一、实验环境二、实验要求三、开始模拟1、攻击机配置frp文件2、攻击拿下跳板机,并且上传frpc.ini、frpc.exe、frpc_full.ini文件3、把frps.ini、、frps.exe、frps_full.ini文件放到VPS主机上4、VPS机开启frp5、跳板机开启frp6、验证 一、实验环境 攻击机&…

云尘 命令执行系列

第一题 system <?php include "flag.php";if (isset($_POST[cmd])) {system($_POST[cmd]); }show_source(__FILE__);代码如上 system($_POST[cmd]); POST请求发送一个名为 cmd 的参数&#xff0c;然后将该参数的值传递给系统命令执行函数 system()&#xff0c…

【异常错误】torch.cuda.is_available()一直是false

两个项目用的一个conda环境&#xff0c;但是torch.cuda.is_available()在一个项目中一直是false&#xff0c;而在另外一个项目中是true 我服了&#xff0c;不知道咋回事 解决&#xff1a; 只需要在代码前面加上&#xff1a; torch.cuda.current_device() torch.cuda._initial…

NVIDIA大模型平台软件全家桶开启云智能第二曲线

第二曲线由英国管理思想大师查尔斯汉迪提出&#xff0c;讲的是在企业第一曲线达到巅峰的时候&#xff0c;找到驱动企业二次腾飞的第二曲线。而如果企业想实现基业长青&#xff0c;就需要通过主动式破局式创新&#xff0c;跨越到第二曲线中。对于当下的云智能产业以及基于云智能…

【电源专题】PSE如何与PD握手协商功率等级?

在文章:【电源专题】POE连接方式与功率等级划分 中我们讲到POE协议对不同的PD设备进行划分,比如根据不同的供电标准又可以细分成好几种不同的类型(Type1~Type4)和功率等级。 那么有这么多功率等级,PSE怎么知道PD是哪种类型呢?怎么能进行握手协商呢? 下图为PSE与PD设备在…

python 之生成器表达式,以及与列表推导式的区别

文章目录 生成器表达式基本结构示例生成一个简单的生成器遍历生成器并获取值使用条件过滤 优点 生成器表达式与列表推导式的区别1. 返回类型2. 生成方式3. 内存占用4. 访问方式示例总结 生成器表达式是一种在 Python 中用来创建生成器的高效方法。生成器表达式和列表推导式类似…

jstat虚拟机统计信息监控工具

jstat虚拟机统计信息监控工具 1、jstat&#xff08;JVM Statistics Monitorning Tool&#xff09; 用于监控虚拟机各种运行状态信息的命令行工具。 它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据&#xff0c;它是运行期定位虚拟机 性能问题…

合肥工业大学操作系统实验6

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验课设 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少…

数据结构——基于顺序表实现通讯录

一、. 基于动态顺序表实现通讯录 1.1 功能要求 1&#xff09;⾄少能够存储100个⼈的通讯信息 2&#xff09;能够保存⽤⼾信息&#xff1a;名字、性别、年龄、电话、地址等 3&#xff09;增加联系⼈信息 4&#xff09;删除指定联系⼈ 5&#xff09;查找制定联系⼈ 6&…

ES 未分片 导致集群状态飘红

GET /_cluster/allocation/explain ALLOCATION_FAILED&#xff1a;由于分片分配失败而未分配。 CLUSTER_RECOVERED&#xff1a;由于集群恢复而未分配。 DANGLING_INDEX_IMPORTED&#xff1a;由于导入了悬空索引导致未分配。 EXISTING_INDEX_RESTORED&#xff1a;由于恢复为已关…

vuepress 打包后左侧菜单链接 404 问题解决办法

背景 上周看到一本开源书 《深入架构原理与实践》&#xff0c;是基于 vuepress 搭建的&#xff0c;下载了源码&#xff0c;本地部署了一下&#xff0c;本文记录如何打包该源码遇到的路径问题及思考。 结论&#xff1a; vuepress 插件的 sideBar 的菜单路径默认是相对 / 的&am…

FPGA高端项目:图像缩放+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持

目录 1、前言免责声明本项目特点 2、相关方案推荐我这里已有的 GT 高速接口解决方案我这里已有的以太网方案我这里已有的图像处理方案 3、设计思路框架设计框图视频源选择ADV7611 解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择…

【Java 进阶篇】MVC 模式

欢迎来到本篇详细解释 MVC&#xff08;Model-View-Controller&#xff09;设计模式的教程。MVC 是一种用于组织应用程序的设计模式&#xff0c;有助于将应用程序分成不同的部分&#xff0c;以提高代码的可维护性和可扩展性。在本文中&#xff0c;我们将深入研究 MVC 模式&#…