相同版本的CDH集群间迁移hdfs以及hbase
前言
由于项目数据安全的需要,这段时间看了下hadoop的distcp的命令使用,不断的纠结的问度娘,度娘告诉我的结果也让我很纠结,都是抄来抄去,
还好在牺牲大量的时间的基础上还终于搞出来了,顺便写这个随笔,记录下。
环境
目前我们是两套同版本的CDH集群,集群内的节点通信使用的私网,提供浮动ip对外通信,也就是说,两个集群间的私网是不互通的,只能通过浮动ip
进行通信。
操作
使用hadoop提供的distcp命令进行数据迁移 (数据源集群source和目标集群target版本相同)
迁移hdfs的文件
1)、将source的hosts配置复制到target的hosts中 , 注意使用source的节点的浮动ip
2)、由于集群的节点是以私网的方式通信,如果是这种情况,必须开启namenode和datanode都绑定到了0.0.0.0 ,不然会报连接拒绝的异常
2)、在target的namenode中进入hdfs用户 (为的是避免写hdfs出现 权限问题 )
3)、在tartget的namenode中使用命令 hadoop distcp -overwrite -i webhdfs://sourceNN:50070/solr webhdfs://targetNN:50070/
(说明: 中间的参数 不明白 ,可以问度娘或自己看官方文档,
sourceNN source集群的NameNode, 由于不能使用私网通信,所以只能选择 webhdfs, 端口是cdh默认的端口50070)
迁移hbase 推荐使用方案二 简单 效率高
方案1
4)、直接使用HBASE提供的exort和import工具,这些工具包含在HBASE的jar包中。他们使用MAPREDUCE进行导入导出操作,可以将部分或全部表写入到HDFS文件中。
hadoop jar hbase-0.94.10.jar export -Dhbase.client.scanner.caching=100 weather_data /weather_data
export命令后面,用户必须从左到右指定参数,不能省略这中间任何一个参数。
5)、使用distcp命令将导出的文件复制到目标集群以后再使用导入命令进行导入。
6)、HBASE数据导入
hadoop jar hbase-0.94.10.jar import weather_data /weather_data
方案2:
7)、在tartget的namenode中执行 hadoop distcp webhdfs://sourceNN:50070/hbase/data/default hdfs://targetNN:50070/hbase/data/ 迁移hbase中命名空间是default的所有的表
8)、迁移完成之后,启动hbase集群服务,并执行如下的两个命令,恢复元数据,否则hbase集群不会识别新迁移过来的表:
hbase hbck -fix
hbase hbck -repairHoles
(注意 : 可能会有权限问题, 通过提升权限或换用户解决)
总结
1)、出现异常,根据异常问度娘,有条件最好问谷歌, 多看官方文档,检查是否参数使用正确。
2)、假如distcp一个目录时出现 file not exist 异常,有可能是目录过大导致的,可以试着减少distcp的文件目录数量,假如还报异常,那还是检查下是不是参数有问题。
3)、认真分析自己使用distcp碰到的问题, 不可盲从百度出的结果。
相同版本的CDH集群间迁移hdfs以及hbase的更多相关文章
- hadoop集群间的hdfs文件拷贝
1.背景 部门有个需求,在网络互通的情况下,把现有的hadoop集群(未做Kerberos认证,集群名为:bd-stg-hadoop)的一些hdfs文件拷贝到新的hadoop集群(做了Kerberos ...
- 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下
阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...
- 朝花夕拾之--大数据平台CDH集群离线搭建
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
- Cloudera Manager安装_搭建CDH集群
2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu 内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server || Agent ...
- CDH集群搭建部署
1. 硬件准备 使用了五台机器,其中两台8c16g,三台4c8g.一台4c8g用于搭建cmServer和NFS服务端,另外4台作为cloudera-manager agent部署CDH集群. ...
- CDH集群安装&测试总结
0.绪论 之前完全没有接触过大数据相关的东西,都是书上啊,媒体上各种吹嘘啊,我对大数据,集群啊,分布式计算等等概念真是高山仰止,充满了仰望之情,觉得这些东西是这样的: 当我搭建的过程中,发现这些东西是 ...
- Ceph 集群整体迁移方案(转)
场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...
- Redis Cluster高可用集群在线迁移操作记录【转】
之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...
- CDH集群中YARN的参数配置
CDH集群中YARN的参数配置 前言:Hadoop 2.0之后,原先的MapReduce不在是简单的离线批处理MR任务的框架,升级为MapReduceV2(Yarn)版本,也就是把资源调度和任务分发两 ...
随机推荐
- mono for android学习过程系列教程(6)
接着上一讲,今天讲的是Button,CheckBox这二个安卓元素, 我们来看第一个Button这个控件,类似winform和webform里面一样,它也是 存在有触发事件的,我们新建初始化项目直接就 ...
- kernel 内核安装
1.kernel 下载 https://cdn.kernel.org/pub/linux/kernel/ 2.解压源码 tar -zxvf linux-*.tar.gz 3.进入目录 cd linux ...
- [.NET领域驱动设计实战系列]专题五:网上书店规约模式、工作单元模式的引入以及购物车的实现
一.前言 在前面2篇博文中,我分别介绍了规约模式和工作单元模式,有了前面2篇博文的铺垫之后,下面就具体看看如何把这两种模式引入到之前的网上书店案例里. 二.规约模式的引入 在第三专题我们已经详细介绍了 ...
- 我的ORM之十二 -- 支持的数据库及差别
我的ORM索引 支持最好的是SqlServer2005,Sqlserver2008,SqlServer2012 ,后续将支持:MySql,Sqlite,Oracle. 1.分页差别 MsSql 200 ...
- UWP开发笔记——嵌套式页面的实现
绪论 UWP开发中,Page是最常用的Control之一,通常情况下,在开发的application中,每一个页面就是一个Page.有时候,为了开发整合度更高,UI表现更为一致的UI,开发者需要把UI ...
- Javascript:是你的高阶函数
在通常的编程语言中,函数的参数只能是基本类型或者对象引用,返回值也只是基本数据类型或对象引用.但在Javascript中函数作为一等公民,既可以当做参数传递,也可以被当做返回值返回.所谓高阶函数就是可 ...
- 前端自动化测试工具doh学习总结(一)
前言 项目中需要用到前端自动化测试,自己被当作一个探针研究了下目前用的比较多的web自动化测试工具.一开始研究的是的selenium,但由于项目使用了大量的dijit控件,写起testCase来很费劲 ...
- AlwaysON 故障处理之辅助副本磁盘空间不足
用户反馈AlwaysON辅助副本数据库查询的结果与主库不一致, 远程到服务器后发现数据库的状态显示为“未同步/可疑”, 查看数据库的日志,定位到出现错误的时间点,可以看到提示日志文件所在磁盘的“磁盘空 ...
- windows 8.1 试用感受:蛋疼感大幅降低
众所周知windows 8 的最大使用感受就是蛋疼. 无论是微软MVP,还是我这样的万年不悔微软小白鼠,普通用户,小白用户,或多或少的都对这款操作系统感到蛋疼. 槽点太多,以至于大家都懒得批判了.好在 ...
- Hello Mybatis 01 第一个CRUD
What's the Mybatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c ...