使用sqoop将MySQL数据库中的数据导入Hbase

前提:安装好 sqoop、hbase。

下载jbdc驱动:mysql-connector-java-5.1.10.jar

将 mysql-connector-java-5.1.10.jar 拷贝到 /usr/lib/sqoop/lib/ 下

MySQL导入HBase命令:

sqoop import --connect jdbc:mysql://10.10.97.116:3306/rsearch --table researchers --hbase-table A --column-family person --hbase-row-key id --hbase-create-table --username
'root' -P



说明:

--connect jdbc:mysql://10.10.97.116:3306/rsearch 表示远程或者本地 Mysql 服务的URI,3306是Mysql默认监听port,rsearch是数据库,若是其它数据库,如Oracle,仅仅需改动URI就可以。

--table researchers  表示导出rsearch数据库的researchers表。

--hbase-table A  表示在HBase中建立表A。

--column-family person 表示在表A中建立列族person。

--hbase-row-key id  表示表A的row-key是researchers表的id字段。

--hbase-create-table 表示在HBase中建立表。

--username 'root' 表示使用用户root连接Mysql。



注意:



HBase的全部节点必须可以訪问MySQL数据库。不然会出现例如以下错误:

java.sql.SQLException: null,  message from server: "Host '10.10.104.3' is not allowed to connect to this MySQL server"

[plain] view
plain
copy

  1. 在MySQL数据库server节点上运行下面命令同意远程机器使用对应用户訪问本地数据库server:
  2. [root@gc01vm6 htdocs] # /opt/lampp/bin/mysql
  3. mysql> use mysql;
  4. Database changed
  5. mysql> GRANT ALL PRIVILEGES ON rsearch.* TO 'root'@'10.10.104.3' IDENTIFIED BY '' WITH GRANT OPTION;
  6. mysql> GRANT ALL PRIVILEGES ON rsearch.* TO 'root'@'10.10.104.5' IDENTIFIED BY '' WITH GRANT OPTION;
  7. mysql> GRANT ALL PRIVILEGES ON rsearch.* TO 'root'@'10.10.104.2' IDENTIFIED BY '' WITH GRANT OPTION;

这里10.10.104.2,10.10.104.3,10.10.104.5 是HBase节点。

-------------------------------------------------------------------------------------------------





MySQL导入HBase的日志:



[root@gd02 hadoop]# sqoop import --connect
jdbc:mysql://10.10.97.116:3306/rsearch --table researchers --hbase-table A --column-family person --hbase-row-key id --hbase-create-table --username 'root' -P

Enter password: 

11/06/29 19:08:00 INFO tool.CodeGenTool: Beginning code generation

11/06/29 19:08:00 INFO manager.MySQLManager: Executing SQL statement: SELECT t.* FROM `researchers` AS t LIMIT 1

11/06/29 19:08:00 INFO manager.MySQLManager: Executing SQL statement: SELECT t.* FROM `researchers` AS t LIMIT 1

11/06/29 19:08:00 INFO orm.CompilationManager: HADOOP_HOME is /usr/lib/hadoop

11/06/29 19:08:00 INFO orm.CompilationManager: Found hadoop core jar at: /usr/lib/hadoop/hadoop-core.jar

Note: /tmp/sqoop-root/compile/d4dd4cb4e1e325fce31ca72c00a5589c/researchers.java uses or overrides a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

11/06/29 19:08:02 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-root/compile/d4dd4cb4e1e325fce31ca72c00a5589c/researchers.jar

11/06/29 19:08:02 WARN manager.MySQLManager: It looks like you are importing from mysql.

11/06/29 19:08:02 WARN manager.MySQLManager: This transfer can be faster! Use the --direct

11/06/29 19:08:02 WARN manager.MySQLManager: option to exercise a MySQL-specific fast path.

11/06/29 19:08:02 INFO manager.MySQLManager: Setting zero DATETIME behavior to convertToNull (mysql)

11/06/29 19:08:02 INFO mapreduce.ImportJobBase: Beginning import of researchers

11/06/29 19:08:02 INFO manager.MySQLManager: Executing SQL statement: SELECT t.* FROM `researchers` AS t LIMIT 1

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.3.3-cdh3u0--1, built on 03/26/2011 00:21 GMT

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:host.name=gd02

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.version=1.6.0_13

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.vendor=Sun Microsystems Inc.

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.home=/usr/java/jdk1.6.0_13/jre

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.class.path=/usr/lib/hadoop/conf:/usr/java/jdk1.6.0_13/lib/tools.jar:/usr/lib/hadoop:/usr/lib/hadoop/hadoop-core-0.20.2-cdh3u0.jar:/usr/lib/hadoop/lib/ant-contrib-1.0b3.jar:/usr/lib/hadoop/lib/aspectjrt-1.6.5.jar:/usr/lib/hadoop/lib/aspectjtools-1.6.5.jar:/usr/lib/hadoop/lib/commons-cli-1.2.jar:/usr/lib/hadoop/lib/commons-codec-1.4.jar:/usr/lib/hadoop/lib/commons-daemon-1.0.1.jar:/usr/lib/hadoop/lib/commons-el-1.0.jar:/usr/lib/hadoop/lib/commons-httpclient-3.0.1.jar:/usr/lib/hadoop/lib/commons-logging-1.0.4.jar:/usr/lib/hadoop/lib/commons-logging-api-1.0.4.jar:/usr/lib/hadoop/lib/commons-net-1.4.1.jar:/usr/lib/hadoop/lib/core-3.1.1.jar:/usr/lib/hadoop/lib/hadoop-fairscheduler-0.20.2-cdh3u0.jar:/usr/lib/hadoop/lib/hsqldb-1.8.0.10.jar:/usr/lib/hadoop/lib/jackson-core-asl-1.5.2.jar:/usr/lib/hadoop/lib/jackson-mapper-asl-1.5.2.jar:/usr/lib/hadoop/lib/jasper-compiler-5.5.12.jar:/usr/lib/hadoop/lib/jasper-runtime-5.5.12.jar:/usr/lib/hadoop/lib/jets3t-0.6.1.jar:/usr/lib/hadoop/lib/jetty-6.1.26.jar:/usr/lib/hadoop/lib/jetty-servlet-tester-6.1.26.jar:/usr/lib/hadoop/lib/jetty-util-6.1.26.jar:/usr/lib/hadoop/lib/jsch-0.1.42.jar:/usr/lib/hadoop/lib/junit-4.5.jar:/usr/lib/hadoop/lib/kfs-0.2.2.jar:/usr/lib/hadoop/lib/log4j-1.2.15.jar:/usr/lib/hadoop/lib/mockito-all-1.8.2.jar:/usr/lib/hadoop/lib/oro-2.0.8.jar:/usr/lib/hadoop/lib/servlet-api-2.5-20081211.jar:/usr/lib/hadoop/lib/servlet-api-2.5-6.1.14.jar:/usr/lib/hadoop/lib/slf4j-api-1.4.3.jar:/usr/lib/hadoop/lib/slf4j-log4j12-1.4.3.jar:/usr/lib/hadoop/lib/xmlenc-0.52.jar:/usr/lib/hadoop/lib/jsp-2.1/jsp-2.1.jar:/usr/lib/hadoop/lib/jsp-2.1/jsp-api-2.1.jar:/usr/lib/sqoop/conf:/usr/lib/hbase/conf::/usr/lib/sqoop/lib/ant-contrib-1.0b3.jar:/usr/lib/sqoop/lib/ant-eclipse-1.0-jvm1.2.jar:/usr/lib/sqoop/lib/commons-io-1.4.jar:/usr/lib/sqoop/lib/hadoop-mrunit-0.20.2-CDH3b2-SNAPSHOT.jar:/usr/lib/sqoop/lib/ivy-2.0.0-rc2.jar:/usr/lib/sqoop/lib/mysql-connector-java-5.1.10.jar:/usr/lib/hbase/hbase-0.90.1-cdh3u0.jar:/usr/lib/hbase/hbase-0.90.1-cdh3u0-tests.jar:/usr/lib/hbase/lib/activation-1.1.jar:/usr/lib/hbase/lib/asm-3.1.jar:/usr/lib/hbase/lib/avro-1.3.3.jar:/usr/lib/hbase/lib/commons-cli-1.2.jar:/usr/lib/hbase/lib/commons-codec-1.4.jar:/usr/lib/hbase/lib/commons-el-1.0.jar:/usr/lib/hbase/lib/commons-httpclient-3.1.jar:/usr/lib/hbase/lib/commons-lang-2.5.jar:/usr/lib/hbase/lib/commons-logging-1.1.1.jar:/usr/lib/hbase/lib/commons-net-1.4.1.jar:/usr/lib/hbase/lib/core-3.1.1.jar:/usr/lib/hbase/lib/guava-r06.jar:/usr/lib/hbase/lib/hadoop-core.jar:/usr/lib/hbase/lib/hbase-0.90.1-cdh3u0.jar:/usr/lib/hbase/lib/jackson-core-asl-1.5.2.jar:/usr/lib/hbase/lib/jackson-jaxrs-1.5.5.jar:/usr/lib/hbase/lib/jackson-mapper-asl-1.5.2.jar:/usr/lib/hbase/lib/jackson-xc-1.5.5.jar:/usr/lib/hbase/lib/jasper-compiler-5.5.23.jar:/usr/lib/hbase/lib/jasper-runtime-5.5.23.jar:/usr/lib/hbase/lib/jaxb-api-2.1.jar:/usr/lib/hbase/lib/jaxb-impl-2.1.12.jar:/usr/lib/hbase/lib/jersey-core-1.4.jar:/usr/lib/hbase/lib/jersey-json-1.4.jar:/usr/lib/hbase/lib/jersey-server-1.4.jar:/usr/lib/hbase/lib/jettison-1.1.jar:/usr/lib/hbase/lib/jetty-6.1.26.jar:/usr/lib/hbase/lib/jetty-util-6.1.26.jar:/usr/lib/hbase/lib/jruby-complete-1.0.3.jar:/usr/lib/hbase/lib/jsp-2.1-6.1.14.jar:/usr/lib/hbase/lib/jsp-api-2.1-6.1.14.jar:/usr/lib/hbase/lib/jsp-api-2.1.jar:/usr/lib/hbase/lib/jsr311-api-1.1.1.jar:/usr/lib/hbase/lib/log4j-1.2.16.jar:/usr/lib/hbase/lib/protobuf-java-2.3.0.jar:/usr/lib/hbase/lib/servlet-api-2.5-6.1.14.jar:/usr/lib/hbase/lib/servlet-api-2.5.jar:/usr/lib/hbase/lib/slf4j-api-1.5.8.jar:/usr/lib/hbase/lib/slf4j-log4j12-1.5.8.jar:/usr/lib/hbase/lib/stax-api-1.0.1.jar:/usr/lib/hbase/lib/thrift-0.2.0.jar:/usr/lib/hbase/lib/xmlenc-0.52.jar:/usr/lib/hbase/lib/zookeeper.jar:/usr/lib/zookeeper/zookeeper-3.3.3-cdh3u0.jar:/usr/lib/zookeeper/zookeeper.jar:/usr/lib/zookeeper/lib/jline-0.9.94.jar:/usr/lib/zookeeper/lib/log4j-1.2.15.jar:/usr/lib/sqoop/sqoop-1.2.0-cdh3u0.jar:/usr/lib/sqoop/sqoop-test-1.2.0-cdh3u0.jar:

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.library.path=/usr/java/jdk1.6.0_13/jre/lib/amd64/server:/usr/java/jdk1.6.0_13/jre/lib/amd64:/usr/java/jdk1.6.0_13/jre/../lib/amd64:/usr/java/packages/lib/amd64:/lib:/usr/lib

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/tmp

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA>

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:os.arch=amd64

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:os.version=2.6.18-164.el5

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:user.name=root

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:user.home=/root

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Client environment:user.dir=/home/hadoop

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=gd05:2181,gd03:2181,gd02:2181 sessionTimeout=180000 watcher=hconnection

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: Opening socket connection to server gd03/10.10.104.3:2181

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: Socket connection established to gd03/10.10.104.3:2181, initiating session

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: Session establishment complete on server gd03/10.10.104.3:2181, sessionid = 0x130b2e901cd0012, negotiated timeout = 180000

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=gd05:2181,gd03:2181,gd02:2181 sessionTimeout=180000 watcher=hconnection

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: Opening socket connection to server gd03/10.10.104.3:2181

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: Socket connection established to gd03/10.10.104.3:2181, initiating session

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: Session establishment complete on server gd03/10.10.104.3:2181, sessionid = 0x130b2e901cd0013, negotiated timeout = 180000

11/06/29 19:08:02 INFO client.HConnectionManager$HConnectionImplementation: Closed zookeeper sessionid=0x130b2e901cd0013

11/06/29 19:08:02 INFO zookeeper.ZooKeeper: Session: 0x130b2e901cd0013 closed

11/06/29 19:08:02 INFO zookeeper.ClientCnxn: EventThread shut down

11/06/29 19:08:02 INFO mapreduce.HBaseImportJob: Creating missing column family person

11/06/29 19:08:02 INFO client.HBaseAdmin: Started disable of A

11/06/29 19:08:03 INFO client.HBaseAdmin: Disabled A

11/06/29 19:08:03 INFO client.HBaseAdmin: Started enable of A

11/06/29 19:08:06 INFO client.HBaseAdmin: Enabled table A

11/06/29 19:08:07 INFO mapred.JobClient: Running job: job_201106212352_0010

11/06/29 19:08:08 INFO mapred.JobClient:  map 0% reduce 0%

11/06/29 19:08:19 INFO mapred.JobClient:  map 40% reduce 0%

11/06/29 19:08:20 INFO mapred.JobClient:  map 80% reduce 0%

11/06/29 19:08:34 INFO mapred.JobClient:  map 100% reduce 0%

11/06/29 19:08:34 INFO mapred.JobClient: Job complete: job_201106212352_0010

11/06/29 19:08:34 INFO mapred.JobClient: Counters: 11

11/06/29 19:08:34 INFO mapred.JobClient:   Job Counters 

11/06/29 19:08:34 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=82848

11/06/29 19:08:34 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0

11/06/29 19:08:34 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0

11/06/29 19:08:34 INFO mapred.JobClient:     Launched map tasks=5

11/06/29 19:08:34 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0

11/06/29 19:08:34 INFO mapred.JobClient:   FileSystemCounters

11/06/29 19:08:34 INFO mapred.JobClient:     HDFS_BYTES_READ=527

11/06/29 19:08:34 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=310685

11/06/29 19:08:34 INFO mapred.JobClient:   Map-Reduce Framework

11/06/29 19:08:34 INFO mapred.JobClient:     Map input records=81868

11/06/29 19:08:34 INFO mapred.JobClient:     Spilled Records=0

11/06/29 19:08:34 INFO mapred.JobClient:     Map output records=81868

11/06/29 19:08:34 INFO mapred.JobClient:     SPLIT_RAW_BYTES=527

11/06/29 19:08:34 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 28.108 seconds (0 bytes/sec)

11/06/29 19:08:34 INFO mapreduce.ImportJobBase: Retrieved 81868 records.



參考资料:



利用sqoop将mysql数据同步到hive手记

http://www.54chen.com/java-ee/sqoop-mysql-to-hive.html

利用Sqoop将数据从数据库导入到HDFS

http://www.cnblogs.com/gpcuster/archive/2011/03/01/1968027.html

Sqoop

http://www.duyifan.com/

MySQL向Hive/HBase的迁移工具

http://www.javabloger.com/article/hadoop-hive-mysql-sqoop.html

官方手冊

http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html

使用sqoop将MySQL数据库中的数据导入Hbase的更多相关文章

  1. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  2. mysql数据库中的数据导入与导出

    需求: 在本地电脑上的mysql中创建了一个数据库,并且在该数据库中创建了很多表,表中数据比较多: 现在想换一台电脑,但是又不想重新建数据库.建表.造数据. 解决方案: 利用mysql提供的命令,在本 ...

  3. Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)

    一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...

  4. mysql数据库中插入数据INSERT INTO SET的优势

    往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...

  5. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  6. 使用grabit分析mysql数据库中的数据血缘关系

    使用grabit分析mysql数据库中的数据血缘关系 Grabit 是一个辅助工具,用于从数据库.GitHub 等修订系统.bitbucket 和文件系统等各种来源收集 SQL 脚本和存储过程,然后将 ...

  7. 如何将数据库中的数据导入到Solr中

    要使用solr实现网站中商品搜索,需要将mysql数据库中数据在solr中创建索引. 1.需要在solr的schema.xml文件定义要存储的商品Field. 商品表中的字段为: 配置内容是: < ...

  8. phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...

  9. 详解大数据采集引擎之Sqoop&采集oracle数据库中的数据

    一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop i ...

随机推荐

  1. 如何实现两台Domino之间的相互访问

    一)交叉验证    1启动Administrator软件,连接到您的服务器,点击"配置"标签.    2点击右边屏幕"工具"--"验证字"--"交叉验证"    3选择您自己的cert.id,输入其口 ...

  2. How to get the value of a form element : check box and radio button

    Getting a radio element and it’s checked value Radio buttons in a form can be grouped together using ...

  3. windows 10 更新失败及应用商店重装问题解决记录

    简单的记录一下这次遇到的问题及解决办法. 使用的windows 10 企业版一直不能更新成功,各种办法都试过了,都是失败然后回退. 这次直接下载了1709的映像进行升级安装的,因为我的是双系统,升级安 ...

  4. notepad++插件实现json、xml格式化

    notepad++比较出色的免费的数据编辑.格式化工具... 现在json.xml文件很流行.格式化也是必须的,方便查看关键信息! 01.下载notepad++及相关插件 npp_7.5.5-x86: ...

  5. python实现的摩斯电码解码\编码器

    代码地址如下:http://www.demodashi.com/demo/14743.html 详细说明: 现在这年头谍战片.警匪片动不动就用摩斯密码来传递信息,一方面可以用来耍帅,另外一方面好像不插 ...

  6. 在centos 5.5 i386 上安装 oracle 10g xe

    1.安装rpm包 nano /v.sh 将下面内容复制进去 #!/bin/bash rpm -Uvh compat-db-4.2.52-5.1.i386.rpm rpm -Uvh compat-lib ...

  7. hihocoder第229周:最大连续字母个数

    题目链接 给定一个仅包含小写字母的字符串s(长度小于1e5),你可以交换任意两个字符的位置,现在允许交换k次,要求交换之后,s中最长的连续相同字符个数尽量多,求这个最长连续区间的长度. 样例 输入 1 ...

  8. hihocoder第196周

    此题解法:动态规划,倒骑毛驴. 在使用动态规划的时候,如果正着求难求,可以考虑倒着来. 这道题坑不少,自己代码能力太弱了,写代码的过程中总是容易犯细节错误.虽然大的方向是对的,但是小坑非常致命! 比如 ...

  9. 【LeetCode】230. Kth Smallest Element in a BST (2 solutions)

    Kth Smallest Element in a BST Given a binary search tree, write a function kthSmallest to find the k ...

  10. NFS客户端、服务器协商读写粒度(rsize、wsize)流程 【转】

    rsize和wsize决定了网络文件系统(NFS)一次网络交互所能够读写的数据块的大小,rsize和wsize的大小对网络文件系统(NFS)的性能有重要影响.rsize和wsize的大小是在用户配置的 ...