文档章节

使用CopyTable同步HBase数据

小虾米DYX
 小虾米DYX
发布于 2017/08/23 14:40
字数 790
阅读 55
收藏 2
点赞 0
评论 0

点击查看全文

 

CopyTable是Hbase提供的一个数据同步工具,可以用于同步表的部分或全部数据。本文介绍如何使用CopyTable同步HBase数据。针对没有hadoop集群的用户,还介绍了单机运行CopyTable的配置和参数。
根据我们的测试,在表不压缩的情况下,单机版CopyTable可以达到1小时100G左右的导入速度。10T以下的数据都可以使用CopyTable导入数据。

准备工作

1 安装HBase
CopyTable依赖于hadoop mapreduce。如果源HBase集群中开启了mapreduce则可以直接在源集群上运行。否则可以在另一个hadoop集群上安装HBase客户端并将hbase-site.xml文件中的zk地址指向源集群。
也可以单机运行,单机运行时,不需要安装hadoop,只要安装了HBase就可以使用hadoop的本地模式运行CopyTable。
安装和配置HBase的过程可以参考云HBase相关文档

2 创建目标表
使用CopyTable同步数据前,需要确保目标表存在。如果不存在需要先创建目标表。可以根据数据的分布情况对目标表进行预分裂,这样能够提高写入速度。

3 其他准备工作
需要将运行CopyTable的机器ip加入HBase的ip白名单,确保可以访问到HBase。
需要修改hbase-site.xml文件中的zk地址指向源集群。

准备工作完成后,就可以运行CopyTable进行数据同步了。

命令示例

./bin/hbase org.apache.hadoop.hbase.mapreduce.CopyTable -Dhbase.client.scanner.caching=200 -Dmapreduce.local.map.tasks.maximum=16 -Dmapred.map.tasks.speculative.execution=false --peer.adr=$ZK_IP1,$ZK_IP2,$ZK_IP3:/hbase $TABLE_NAME

参数说明

CopyTable常用选项说明如下:
startrow 开始行。
stoprow 停止行。
starttime 时间戳(版本号)的最小值。
endtime 时间戳的最大值。如果不指定starttime,endtime不起作用。
peer.adr 目标集群的地址。格式为:hbase.zookeeer.quorum:hbase.zookeeper.client.port:zookeeper.znode.parent
families 要同步的列族。多个列族用逗号分隔。
all.cells 删除标记也进行同步。
更多参数参见官方文档

除copytable的参数外, 以下选项也建议在命令中进行设置:
(1)对于单机运行的情况,需要指定mapreduce.local.map.tasks.maximum参数,表示并行执行的最大map个数。不指定的话默认是1,所有任务都是串行执行的。
(2)hbase.client.scanner.caching建议设置为大于100的数。这个数越大,使用的内存越多,但是会减少scan与服务端的交互次数,对提升读性能有帮助。
(3)mapred.map.tasks.speculative.execution建议设置为false,避免因预测执行机制导致数据写两次。

另外,如果是在E-mapreduce集群上执行CopyTable,需要注意E-mapreduce默认的hbase-site.xml文件中配置了phoenix,所以需要导入phoenix的jar包,否则运行时会报错:
-libjars $HBASE_HOME/lib/phoenix-$PhoenixVersion-HBase-$HBaseVersion-server.jar

性能数据

 

点击查看全文1

本文转载自:http://click.aliyun.com/m/29050/

共有 人打赏支持
小虾米DYX
粉丝 0
博文 113
码字总数 0
作品 0
海淀
阿里云HBase安全系列-初体验

概述简介 阿里云HBase安全包括多方面的措施,主要构成部分有:网络隔离,白名单,身份认证,权限控制,数据加密等,具体介绍可参考文章底部链接。本文主要是阿里云HBase安全实战体验篇,介绍...

HBase技术社区 ⋅ 04/13 ⋅ 0

云HBaseSQL及分析-Phoenix&Spark

在2018年1月的数据库直播大讲堂峰会HBase专场,来自阿里云的研发工程师瑾谦和沐远分享了云HBaseSQL以及分析Phoenix&Spark。本文介绍了详细了Phoinix和Spark的架构,适用性以及优缺点,并在最...

HBase技术社区 ⋅ 06/05 ⋅ 0

期待已久的Apache HBase2.0正式发布

激动 期待已久的HBase 2.0发布啦! 膜拜 拜读stack大神announce email原文,激动人心的时刻: 邮件简述了HBase 2.0.0 有新版Assignment Manager V2,offhead read/write, in-memory compactio...

tins.wzy ⋅ 05/02 ⋅ 0

兑吧:从自建HBase迁移到阿里云HBase实战经验

业务介绍 兑吧集团包含兑吧网络和推啊网络,兑吧网络是一家致力于帮助互联网企业提升运营效率的用户运营服务平台,提供积分商城和媒体运营服务。推啊网络是一家互动式广告平台,经过多年的探...

所在jason ⋅ 06/12 ⋅ 0

八年磨一剑,阿里云ApsaraDB for HBase2.0正式上线

一)HBase2.0和阿里云的前世今生 ApsaraDB for HBase2.0于2018年6月6日即将正式发布上线啦! 它是基于社区HBase2.0稳定版的升级,也是阿里HBase多年的实践经验和技术积累的持续延伸,全面解决...

天斯 ⋅ 06/05 ⋅ 0

HBase 3.0 可能的新特性

其实,开源社区一直在反思为什么HBase 2.0经历了那么长的时间还是没有发布出来。社区也不希望在发布HBase 3.0版本的时候还是和发布HBase 2.0遇到同样的情况。所以虽然目前主要的精力还是放在...

wenzi0563 ⋅ 06/14 ⋅ 0

阿里HBase的数据管道设施实践与演进

摘要:第九届中国数据库技术大会,阿里巴巴技术专家孟庆义对阿里HBase的数据管道设施实践与演进进行了讲解。主要从数据导入场景、 HBase Bulkload功能、HImporter系统、数据导出场景、HExpo...

云迹九州 ⋅ 05/21 ⋅ 0

八年磨一剑,解读阿里云ApsaraDB for HBase2.0

一.HBase2.0和阿里云的前世今生 ApsaraDB for HBase2.0于2018年6月6日即将正式发布上线啦! ApsaraDB for HBase2.0是基于社区HBase2.0稳定版的升级,也是阿里HBase多年的实践经验和技术积累的...

HBase技术社区 ⋅ 06/19 ⋅ 0

普及HBase,阿里云HBase团队在行动

一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server上搭建起...

所在jason ⋅ 05/23 ⋅ 0

企业打开云HBase的正确方式,来自阿里云云数据库团队的解读

摘要: 一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server...

阿里云云栖社区 ⋅ 05/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 8分钟前 ⋅ 0

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 35分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 55分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 今天 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 今天 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 今天 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 今天 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部