文档章节

大数据迁移(简单案例)(41 )

肖鋭
 肖鋭
发布于 2014/05/11 20:59
字数 695
阅读 284
收藏 11

大数据迁移:

所谓的大数据迁移就是把某个节点上的数据(或者几个节点上的数据)分别拷贝到不同数据节点上的过程.


就像我在的公司就是这样做的,在CDHhadoop的版本中,一个命令就能完成上面的大数据迁移的所有事情.

例如:

现有的机器:

hadoop1(n1:namenode)

hadoop2(d1:datanode)

hadoop3(d2:datanode)

hadoop4(d3:datanode)

新增的机器:

hadoop5(d4:datanode)

hadoop6(d5:datanode)

hadoop7(d6:datanode)

这里我们要把现有的机器某台机器(这里机器名:hadoop2,因为这几台机器的数据是一样的)上的数据分别拷贝到新增的机器中(hadoop5,hadoop6,hadoop7)中.

举例:

现有的机器hadoop1中的数据文件(单位:byte):

199884219068  /hive/warehouse/data1

135503186196  /hive/warehouse/data2

146310003399  /hive/warehouse/data3

456891836274  /hive/warehouse/data4

123959449467  /hive/warehouse/data5

数据迁移:

hadoop distcp hdfs://hadoop1:8020$dir hdfs://hadoop5:8020/hive/warehouse/

注意:这里为什么我只拷贝到hadoop5中呐?是因为distcp这个命令会自动把数据拷贝到新增的不同机器上.

自己总结:(在拷贝过程中,如果数据文件名称已经存在,则distcp命令不会覆盖原有文件,就会跳过该文件的拷贝.)


在这里我写了一个简单的脚本(distcp.sh),来进行数据迁移,脚本内容如下:

#!/bin/bash

load_src=('/hive/warehouse/data1' '/hive/warehouse/data2' '/hive/warehouse/data3' '/hive/warehouse/data4' '/hive/warehouse/data5')

for src in "${load_src[@]}"

do

hadoop distcp hdfs://hadoop1:8020$src hdfs://hadoop5:8020/hive/warehouse/ >>/hadoop_tmp/log/distcp.log 2>>&1

done

注意:在运行脚本中的时候,要关注一下hadoop集群状况,以免数据量太大,导致集群宕机.还有日志(/hadoop_tmp/log/distcp.log)

可以用一下命令查看集群状况:

查看集群使用状况或其他信息:

hadoop dfsadmin -report

查看各个节点的状态(status):

查看JobTracker(status)

hadoop mrhaadmin -getServiceState jt1

查看NameNode(status)

hdfs haadmin -getServiceState nn1

注意:在写脚本的时候,注意拷贝机器的目录,例如:hdfs://hadoop5:8020/hive/warehouse/这个目录,

    因为在源目录中,比如想拷贝某个文件夹下的名称,就要想对应的在目标目录上填上这个目录,不然就只会拷贝在/hive/warehouse/中.

 

举例:

hadoop2下的/hive/warehouse/data1是一个文件夹,我想拷贝下面的文件file1.

distcp1.sh脚本内容:

#!/bin/bash

load_src=('/hive/warehouse/data1/file1' '/hive/warehouse/data1/file2')

for src in "${load_src[@]}"

do

####截取不同文件夹的名称

tmp_src=${src:16:5}

####截取结果:data1

hadoop distcp hdfs://hadoop1:8020$src hdfs://hadoop5:8020/hive/warehouse/$tmp_src/ >>/hadoop_tmp/log/distcp.log 2>>&1

done

注意:还是注意查看集群状态,还有日志(/hadoop_tmp/log/distcp.log).


                                                                                                                                Name:Xr

                                                                                                                                Date:2014-05-11 21:01

© 著作权归作者所有

肖鋭
粉丝 10
博文 62
码字总数 29531
作品 0
朝阳
程序员
私信 提问
加载中

评论(1)

天亮say晚安
天亮say晚安
我们公司最近也准备进行数据迁移,有空像你学习下0
Python函数基础教程-张明阳-专题视频课程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a2011480169/article/details/83579571 Python函数基础教程—730人已学习 课程介绍 通过本次课程的讲解,可以...

安静的技术控
2017/12/15
0
0
确认过眼神?上云之路需要遇上对的人!

随着云计算理念的快速普及,“上云是常态,不上云是例外”已成为共识。越来越多的企业渴望分享具有弹性、灵活、安全、低成本特性的云计算发展而带来的技术红利。在“上云就上阿里云”解决了上...

阿里云服务
2018/04/25
0
0
Apache Cassandra 从入门到精通

为了营造一个开放的 Cassandra 技术交流环境,和国内对 Cassandra 感兴趣的开发者进行交流,我们准备在近期写一个 Apache Cassandra 从入门到精通的系列文章,具体文章目录如下(如果大家有补...

明惠
2019/04/23
0
0
阿里云正式推出内容平台“云栖号”:全面助力企业和个人上云决策

1月7日,阿里云官网正式推出“云栖号”(https://yqh.aliyun.com/ ),旨在为大家提供第一手的上云资讯,云产品快速入门,来自不同行业精选的企业上云案例,基于众多成功案例萃取而成的最佳实...

阿里云云栖号
01/11
0
0
阿里云正式推出内容平台“云栖号”:全面助力企业和个人上云决策 - 知乎

1月7日,阿里云官网正式推出“云栖号”(https://yqh.aliyun.com/ ),旨在为大家提供第一手的上云资讯,云产品快速入门,来自不同行业精选的企业上云案例,基于众多成功案例萃取而成的最佳实...

我是程序员
01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MBTI助你成功,让你更了解你自己

MBTI助你成功,让你更了解你自己 生活总是一个七日接着又一个七日,相信看过第七日的小伙伴,很熟悉这段开场白,人生是一个测试接着又一个测试,上学的时候测试,是为了证明你的智力,可谓从...

蛤蟆丸子
今天
55
0
Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安...

shzwork
昨天
72
0
npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
昨天
87
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
昨天
63
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
昨天
69
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部