相同版本的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)版本,也就是把资源调度和任务分发两 ...
随机推荐
- 移动app框架inoic功能研究
原生移动app框架inoic功能研究 本篇只侧重框架提供的功能和能力的研究,请关注后续实际部署使用体验. 一.inoic是什么? inoic是一个可以使用Web技术以hybird方式开发移动app的前 ...
- ECMAScript 6 简介
ECMAScript 6 是JavaScript的下一个标准,正处在快速开发之中,大部分已经完成了,预计将在2014年正式发布.Mozilla将在这个标准的基础上,推出JavaScript 2.0. ...
- Javascript事件模型系列(一)事件及事件的三种模型
一.开篇 在学习javascript之初,就在网上看过不少介绍javascript事件的文章,毕竟是js基础中的基础,文章零零散散有不少,但遗憾的是没有看到比较全面的系列文章.犹记得去年这个时候,参加 ...
- Java实现敏感词过滤
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- [nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)
:由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . ...
- 函数柯理化以及利用柯理化实现bind方法
1.函数柯理化 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术. 柯理化函数思想:一个js预先处理的思想:利用函数执行可以形 ...
- jQuery_04之第三方、自定义
1.第三方插件: ①日期:layDate:不依赖于jquery 使用:html:<input class="laydate-icon"> css:引入laydat ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(1)-简介
1.前言 本次实现的这个聊天工具是我去年c#程序设计课程所写的Socket仿QQ聊天,由于当时候没有自己的服务器,只能在机房局域网内进行测试,最近在腾讯云上买了一台云主机(本人学生党,腾讯云有个学生专 ...
- 【.net】从比较两个字节数组谈起
上午,有位初学者朋友问:如何比较两个字节数组中各字节是否相等? 不许笑,我一向反对嘲笑初学者,初学者不认真学习时你可以批评,但不能讥嘲.你不妨想想,你自己开始学习编程的时候又是什么个光景? 好,于是, ...
- NGUI 可裁剪的灰度Shader
Shader "Custom/Unlit - Transparent Colored Grayed (SoftClip)" { Properties { _MainTex (&qu ...