使用Sqoop从Mysql向云HBase同步数据

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具。本文介绍如何使用sqoop将数据从Mysql导入到HBase。从成本的角度考虑,针对没有hadoop集群的用户,重点介绍单机运行sqoop的配置和参数。

安装

要完成从Mysql向HBase导入数据的任务,需要安装和配置的软件包括hadoop,sqoop,mysql-connector和HBase。我们针对单机运行sqoop的情况提供了四合一的安装包简化安装流程。如果是在hadoop集群上运行sqoop,可以参考Sqoop官方文档进行配置。
以下介绍单机版的安装流程。

1 下载安装包。把文件放在~目录。

cd ~
wget http://public-hbase.oss-cn-hangzhou.aliyuncs.com/installpackage/sqoop-all.tar.gz

2 解压文件:解压,进入解压后的目录sqoop-all。

tar -xzvf sqoop-all.tar.gz
cd scoop-all

3 设置环境变量。

cp sqoop-env.sh /etc/profile.d; source /etc/profile

4 修改hbase-1.1.9/conf/hbase-site.xml文件,添加集群的 ZK 地址。可参考云HBase帮助文档

准备工作

1 设置ip白名单。需要把运行sqoop的机器ip添加到云HBase的ip白名单中。如果Mysql是云上的RDS,也需要修改RDS的ip白名单。总之就是保证这台机器能够访问mysql和HBase。
2 确保目标表存在。如果不存在需要先建表。

运行

安装完成并配置好ip白名单之后,就可以运行sqoop进行数据导入了。

命令示例

 以下是单机运行sqoop的命令示例:

sqoop import -Dmapreduce.local.map.tasks.maximum=8 --connect jdbc:mysql://$mysqlURL:3306/$database --table $table --hbase-table $hbaseTable --column-family $columnFamily --hbase-row-key $mysqlColumn --username $mysqlUser -m 8 -P

常用参数说明

--connect JDBC连接字符串
--table 要导入的mysql表名
--columns 要导入的列
--where 过滤条件
--hbase-table hbase表名
--column-family hbase列族
--hbase-row-key 用来做HBase rowkey的mysql列名
--username mysql用户名
-m map个数,默认为4
此外,对于单机运行,还需要指定mapreduce.local.map.tasks.maximum参数,表示并行执行的最大map个数,否则默认为1,map就变成串行执行的了。也可以根据需要调整其他hadoop参数。
sqoop import的其他参数可参考sqoop-import文档

时间: 2024-09-19 10:04:51

使用Sqoop从Mysql向云HBase同步数据的相关文章

使用Sqoop job工具同步数据

我们使用的是Sqoop-1.4.4,在进行关系型数据库与Hadoop/Hive数据同步的时候,如果使用--incremental选项,如使用append模式,我们需要记录一个--last-value的值,如果每次执行同步脚本的时候,都需要从日志中解析出来这个--last-value的值,然后重新设置脚本参数,才能正确同步,保证从关系型数据库同步到Hadoop/Hive的数据不发生重复的问题. 而且,我们我们需要管理我们使用的这些脚本,每次执行之前可能要获取指定参数值,或者修改参数.Sqoop也提

MySQL超时参数以及相关数据集成、DataX数据同步案例分享

一.背景 MySQL系统变量提供关于服务器的一些配置和能力信息,大部分变量可在mysqld服务进程启动时设置,部分变量可在mysqld服务进程运行时设置.合理的系统变量设值范围,是保障MySQL稳定提供服务的重要因素.本文主要描述MySQL数据库的超时timeout相关的一些系统变量,部分参数同程序应用中常见到的CommunicationsException: Communications link failure异常息息相关. 本文也结合数据同步的场景,对使用DataX3进行MySQL数据同步

大数据时代结构化存储云HBase技术架构及最佳实践

在10年,阿里研究HBase,是为了解决阿里容量及并发的实际问题,按照数据库要求,阿里深入HBase技术,并致力于保障稳定性和性能,目前已经有10000台规模,数百个集群,大约1亿的QPS,服务整个集团的业务.17年,把这部分能力也开放给公有云客户.本文中,阿里云高级专家封神带来了主题演讲<大数据时代结构化存储云HBase技术架构及最佳实践>,介绍HBase的应用选择.实战案例.技术平台解读以及后续的规划. 为什么应用HBase 一般而言,传统关系型数据库面临着成本.容量.QPS.分析等多方面

云时代的大数据存储-云HBase

为什么 纵观数据库发展的几十年,从网状数据库.层次数据库到RDBMS数据库,在最近几年的NewSQL的兴起,加上开源的运动,再加上云的特性,可以说是日新月异.在20世纪80年代后,大部分的业务确定使用RDBMS数据为存储基础.新世纪开始,随着互联网的发展,数据量的增大,慢慢RDBMS数据库撑不住,就出现了读写分离策略.随着压力增加,Master撑不住,这时就要分库,把关联不大的数据分开部署,一些join查询不能用,需要借助中间层.随着数据量的进一步增加,一个表的记录越来越大,查询就变得很慢,于是

云HBase建设之开篇

前言 阿里云云HBase团队在2月份推出了云HBase产品,此款产品的内核在集团内部已经使用了6年之久,那么跟社区版本的HBase有怎样的区别,我们又做了怎样的产品化,本系列将会为用户详细介绍这些点.云HBase地址:https://cn.aliyun.com/product/hbase 云HBase 云HBase的内核是基于开源社区1.1版本系列,在此之上深度改造,之前阿里在较早版本有较多的优化也会渐渐迁移到此版本中.目前在内部服务了整个集团的大数据结构化存储需求,比如:平台类需求:日志同步服

MySQL同步数据到本地自建数据库

对业务系统来说,数据可靠性非常重要.如何通过简单的配置,实现适当有效的备份机制并具备快速恢复能力是本最佳实践所要解决的主要问题.阿里云数据库RDS for mysql提供多种方式可以让用户同步数据到本地自建数据库.本文将着重为大家介绍RDS MySQL恢复数据到本地自建库的方法. 1. 如果RDS上的数据没有发生增删改的操作的话,可以生成物理备份或者逻辑备份,然后将物理备份和逻辑备份通过Xtrabackup或者mysqldump将数据导入到自建库. 2. 如果在物理备份已经生成后对于数据库仍然有

是骡子是马,拉出来溜溜 ——阿里云HBase在大搜车的试用

        大搜车,中国领先的车商服务平台.凭借多年对汽车行业的深刻洞察与理解,推出了适合汽车经销商集团及大型二手车商的业务经营管理系统"大风车",适合中小二手车商的经营管理系统"车牛",汽车消费延保产品"大搜车质保"以及基于蚂蚁金服开放平台赋能的[信用购车 先用后买]金融服务方案-"弹个车",为车商提供软件服务.金融服务.交易服务及营销服务等,助力经销商提高管理及盈利能力.现已成功为全国超过70%的二手车经销商提供了全方

step-by-step通过数据集成同步数据到HBase

数据集成是阿里集团对外提供的稳定高效.弹性伸缩的数据同步平台.本文将介绍如何使用数据集成将数据同步到HBase.我们以如下场景为例:线上有两个云HBase集群,想把其中一个集群的数据同步到另一个集群中. 第一步 创建数据集成项目 在使用数据集成同步数据之前,我们需要先在MaxCompute产品首页购买资源并创建一个项目.后续的数据同步任务就是放在这个项目下面执行的.具体步骤参见购买并创建项目 购买的资源不必和HBase在同一地区.如果已经创建过项目,可以忽略这一步. 第二步 准备调度资源 出于安

从关系型Mysql到Nosql HBase的迁移实践

2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)于北京福朋喜来登集团酒店隆重举行.来自国内外各http://www.aliyun.com/zixun/aggregation/17611.html">行业领域的近千名CIO.CTO.架构师.IT经理.咨询顾问.工程师.Hadoop技术爱好者,以及从事Hadoop研究与推广的IT厂商和技术专家将共襄盛举. 在SQL&