`

大数据系列8:Sqoop – HADOOP和RDBMS数据交换

阅读更多

Sqoop1

wget http://mirrors.ustc.edu.cn/apache/sqoop/1.4.4/sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz

tar -xzvf sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz

mv sqoop-1.4.4.bin__hadoop-1.0.0 sqoop-1.4.4

cd sqoop-1.4.4

sudo vi /etc/profile

增加:

export HADOOP_COMMON_HOME=/home/ysc/hadoop-1.2.1

export HADOOP_MAPRED_HOME=/home/ysc/hadoop-1.2.1

export PATH=$PATH:/home/ysc/sqoop-1.4.4/bin

export HBASE_HOME=/home/ysc/hbase-0.94.12

source /etc/profile

sqoop help

JDBC驱动mysql-connector-java-5.1.18.jar拷贝到/home/ysc/sqoop-1.4.4/lib

sqoop list-databases --connect jdbc:mysql://host001 --username root --password ysc

sqoop list-tables --connect jdbc:mysql://host001/mysql --username root --password ysc

sqoop import --connect jdbc:mysql://host001/test --username root --password ysc --table person

sqoop import --connect jdbc:mysql://host001/test --username root --password ysc --table person -m 1

sqoop import --connect jdbc:mysql://host001/test --username root --password ysc --table person --direct -m 1

sqoop import-all-tables --connect jdbc:mysql://host001/test --username root --password ysc  --direct -m 1

sqoop export --connect jdbc:mysql://host001/test --username root --password ysc --table person --export-dir person

sqoop export --connect jdbc:mysql://host001/test --username root --password ysc --table animal --export-dir animal

Sqoop2

wget http://mirror.bit.edu.cn/apache/sqoop/1.99.2/sqoop-1.99.2-bin-hadoop100.tar.gz

tar -xzvf sqoop-1.99.2-bin-hadoop100.tar.gz

mv sqoop-1.99.2-bin-hadoop100 sqoop-1.99.2

cd sqoop-1.99.2

sudo apt-get install zip

bin/addtowar.sh -hadoop-version 1.2.1 -hadoop-path /home/ysc/hadoop-1.2.1

bin/addtowar.sh -jars /home/ysc/mysql-connector-java-5.1.18.jar

vi server/conf/sqoop.properties

修改org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/etc/hadoop/conf/

org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/home/ysc/hadoop-1.2.1/conf/

启动Sqoop 2 server

bin/sqoop.sh server start

http://host001:12000/sqoop/

停止Sqoop 2 server

bin/sqoop.sh server stop

客户端连接Sqoop 2 server

客户端直接解压即可运行

MySQL准备数据库和表:

create database test;

create table history (userId int, command varchar(20));

insert into history values(1, 'ls');

insert into history values(1, 'dir');

insert into history values(2, 'cat');

insert into history values(5, 'vi');

交互模式:

bin/sqoop.sh client

sqoop:000> set server --host host001 --port 12000 --webapp sqoop

sqoop:000> show version --all

sqoop:000> show connector --all

sqoop:000>create connection --cid 1

Name: mysql

JDBC Driver Class: com.mysql.jdbc.Driver

JDBC Connection String:

jdbc:mysql://host001:3306/test?useUnicode=true&characterEncoding=UTF-8&createDatabaseIfNotExist=true&autoReconnect=true

Username: root

Password: ***

entry#回车

Max connections:100

sqoop:000>create job --xid 1 --type import

Name:ImportHistory

Schema name:

Table name: history

Table SQL statement:

Table column names:

Partition column name:userId

Boundary query:

Choose:0

Choose: 0

Output directory: output-sqoop2-history

Extractors:

Loaders:

sqoop:000> submission start --jid 1

sqoop:000> submission status --jid 1

sqoop:000> submission stop --jid 1

批处理模式:

sqoop.sh client /home/ysc/script.sqoop

vi /home/ysc/script.sqoop

输入:

     #指定服务器信息

     set server --host host001 --port 12000 --webapp sqoop

     #执行JOB

     submission start --jid 1

 

 

 

 


 


 

APDPlat旗下十大开源项目

 

 

 

 

 

 

 

 

 

 

1
3
分享到:
评论
5 楼 fighting_2013 2013-11-10  
yangshangchuan 写道
fighting_2013 写道
bin/sqoop import --connect jdbc:mysql://centos.master:3306/test --username root --password 123456 --table user --direct --target-dir /sqoop/user

结果报错
13/11/08 08:47:50 INFO mapreduce.Job: The url to track the job: http://centos.master:8088/proxy/application_1383902225131_0006/
13/11/08 08:47:50 INFO mapreduce.Job: Running job: job_1383902225131_0006
13/11/08 08:47:54 INFO mapreduce.Job: Job job_1383902225131_0006 running in uber mode : false
13/11/08 08:47:54 INFO mapreduce.Job:  map 0% reduce 0%
13/11/08 08:47:54 INFO mapreduce.Job: Job job_1383902225131_0006 failed with state FAILED due to: Application application_1383902225131_0006 failed 2 times due to AM Container for appattempt_1383902225131_0006_000002 exited with  exitCode: -1000 due to: Rename cannot overwrite non empty destination directory /home/hadoop/filesystem/hdfs/tmp/nm-local-dir/usercache/hadoop/filecache/16
.Failing this attempt.. Failing the application.
13/11/08 08:47:54 INFO mapreduce.Job: Counters: 0
13/11/08 08:47:54 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead
13/11/08 08:47:54 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 7.817 seconds (0 bytes/sec)
13/11/08 08:47:54 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead
13/11/08 08:47:54 INFO mapreduce.ImportJobBase: Retrieved 0 records.
13/11/08 08:47:54 ERROR tool.ImportTool: Error during import: Import job failed!

请问这是什么问题?怎么样能解决?



删除目录/home/hadoop/filesystem/hdfs/tmp/nm-local-dir/usercache/hadoop/filecache/16再重新运行试试


之前就试过删除,在运行还是报这个错误,只是文件目录换了一个
4 楼 yangshangchuan 2013-11-09  
fighting_2013 写道
bin/sqoop import --connect jdbc:mysql://centos.master:3306/test --username root --password 123456 --table user --direct --target-dir /sqoop/user

结果报错
13/11/08 08:47:50 INFO mapreduce.Job: The url to track the job: http://centos.master:8088/proxy/application_1383902225131_0006/
13/11/08 08:47:50 INFO mapreduce.Job: Running job: job_1383902225131_0006
13/11/08 08:47:54 INFO mapreduce.Job: Job job_1383902225131_0006 running in uber mode : false
13/11/08 08:47:54 INFO mapreduce.Job:  map 0% reduce 0%
13/11/08 08:47:54 INFO mapreduce.Job: Job job_1383902225131_0006 failed with state FAILED due to: Application application_1383902225131_0006 failed 2 times due to AM Container for appattempt_1383902225131_0006_000002 exited with  exitCode: -1000 due to: Rename cannot overwrite non empty destination directory /home/hadoop/filesystem/hdfs/tmp/nm-local-dir/usercache/hadoop/filecache/16
.Failing this attempt.. Failing the application.
13/11/08 08:47:54 INFO mapreduce.Job: Counters: 0
13/11/08 08:47:54 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead
13/11/08 08:47:54 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 7.817 seconds (0 bytes/sec)
13/11/08 08:47:54 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead
13/11/08 08:47:54 INFO mapreduce.ImportJobBase: Retrieved 0 records.
13/11/08 08:47:54 ERROR tool.ImportTool: Error during import: Import job failed!

请问这是什么问题?怎么样能解决?



删除目录/home/hadoop/filesystem/hdfs/tmp/nm-local-dir/usercache/hadoop/filecache/16再重新运行试试
3 楼 fighting_2013 2013-11-09  
bin/sqoop import --connect jdbc:mysql://centos.master:3306/test --username root --password 123456 --table user --direct --target-dir /sqoop/user

结果报错
13/11/08 08:47:50 INFO mapreduce.Job: The url to track the job: http://centos.master:8088/proxy/application_1383902225131_0006/
13/11/08 08:47:50 INFO mapreduce.Job: Running job: job_1383902225131_0006
13/11/08 08:47:54 INFO mapreduce.Job: Job job_1383902225131_0006 running in uber mode : false
13/11/08 08:47:54 INFO mapreduce.Job:  map 0% reduce 0%
13/11/08 08:47:54 INFO mapreduce.Job: Job job_1383902225131_0006 failed with state FAILED due to: Application application_1383902225131_0006 failed 2 times due to AM Container for appattempt_1383902225131_0006_000002 exited with  exitCode: -1000 due to: Rename cannot overwrite non empty destination directory /home/hadoop/filesystem/hdfs/tmp/nm-local-dir/usercache/hadoop/filecache/16
.Failing this attempt.. Failing the application.
13/11/08 08:47:54 INFO mapreduce.Job: Counters: 0
13/11/08 08:47:54 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead
13/11/08 08:47:54 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 7.817 seconds (0 bytes/sec)
13/11/08 08:47:54 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead
13/11/08 08:47:54 INFO mapreduce.ImportJobBase: Retrieved 0 records.
13/11/08 08:47:54 ERROR tool.ImportTool: Error during import: Import job failed!

请问这是什么问题?怎么样能解决?
2 楼 yangshangchuan 2013-11-04  
fighting_2013 写道
sqoop 1.4.4 能导入数据到 hadoop 2.2 吗?两者兼容吗?


hadoop2.2.0 + sqoop 1.4.4 没试过
1 楼 fighting_2013 2013-11-04  
sqoop 1.4.4 能导入数据到 hadoop 2.2 吗?两者兼容吗?

相关推荐

    大数据离线分析系统,基于hadoop的hive以及sqoop的安装和配置

    通过以上步骤,我们可以构建一个功能完备的大数据离线分析平台,利用Hadoop处理大规模数据,用Hive进行结构化查询,而 Sqoop 则作为数据交换的桥梁。这个系统的搭建和配置是大数据工程师必备的技能之一,对于理解...

    大数据环境下使用Sqoop实现HBase与关系型数据库间的数据迁移

    内容概要:本文档介绍了 Sqoop 这款开源工具的使用方法及其在大数据环境下的重要作用,特别关注于 Sqoop 如何帮助在 Hadoop 体系与传统关系型数据库之间高效转移数据。文档具体讲解了 Sqoop 搭配 Hadoop、HBase 使用...

    Apache Hadoop---Sqoop.docx

    Apache Hadoop 中的 Sqoop 是一个专门为大数据处理设计的数据交换工具,它主要负责在Hadoop的分布式文件系统(HDFS)和关系型数据库管理系统(RDBMS)之间进行数据迁移。由于其简单高效的特性,Sqoop 成为了在大数据...

    完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 10 数据交换 共44页.pptx

    【Hadoop大数据云计算课程】是深入学习大数据处理和云计算技术的重要资源,主要涵盖了Hadoop数据分析平台的多个核心组件,包括Hadoop的安装配置、数据交换、Map-Reduce编程、HDFS管理、Pig数据分析、Hbase数据库操作...

    大数据-sqoop.pptx

    Sqoop 是一个专门为 Hadoop 设计的开源工具,它的主要任务是在传统的关系型数据库(如 MySQL、Oracle、...尽管不同版本有各自的优缺点,但 Sqoop 的存在极大地简化了大数据环境与传统数据存储之间的数据交换工作流程。

    sqoop-1.4.2.bin__hadoop-2.0.0-alpha.tar

    1. **Sqoop 的作用**:Sqoop 是为了解决 Hadoop 与传统 RDBMS 之间的数据交换问题而设计的。它支持将大量结构化数据导入到 Hadoop 中进行大数据分析,同时也能够将处理后的结果导回 RDBMS。 2. **版本信息**:1.4.2...

    大数据运维技术第9章 Sqoop组件安装配置.pptx

    总的来说,Sqoop是大数据环境中不可或缺的工具,它有效地解决了Hadoop与RDBMS之间的数据迁移问题,使得数据可以在传统数据库和大数据平台之间自由流动,提升了大数据处理的效率和灵活性。在实际应用中,根据具体需求...

    Apache的sqoop项目

    总之,Apache Sqoop是大数据环境下实现数据迁移的重要工具,它简化了RDBMS与Hadoop之间的数据交换,提高了数据处理的效率和灵活性。通过熟练掌握Sqoop的使用,可以更好地利用Hadoop进行大数据分析和处理。

    大数据环境包含hadoop+hive+sqoop数据迁移+azkaban任务调度

    在大数据领域,Hadoop、Hive、Sqoop和Azkaban是四个至关重要的组件,它们共同构建了一个高效、可扩展的数据处理和管理平台。以下是这些技术的详细解释和它们在大数据环境中的作用。 1. Hadoop:Hadoop是Apache软件...

    sqoop的原理及概念

    Sqoop 是一个开源的工具,用于在关系型数据库(RDBMS)和 Hadoop 之间进行高效的大数据交流。下面是 Sqoop 的原理和概念: 一、Sqoop 的架构 Sqoop 的架构非常简单,整合了 Hive、Hbase 和 Oozie,通过 map-reduce...

    sqoop 1.4.4

    Sqoop是Apache Hadoop生态系统中的一个工具,专为在Hadoop和传统的关系型数据库管理系统(RDBMS)之间传输数据而设计。标题“sqoop 1.4.4”指的是该版本的Sqoop,它是针对Hadoop 2.0.0及以上版本优化的。这个版本的 ...

    sqoop 使用手册

    Sqoop 是 Apache 开源项目中的一款工具,专门用于在关系型数据库(如 MySQL、Oracle 等)和 Hadoop 的 HDFS 之间进行数据传输。...对于需要在 Hadoop 和 RDBMS 之间进行数据交换的场景,Sqoop 是一个非常实用的工具。

    大数据课程-Hadoop集群程序设计与开发-10.Sqoop数据迁移_lk_edit.pptx

    【大数据课程-Hadoop集群程序设计与开发-10.Sqoop数据迁移】是针对大数据领域的一门课程,主要讲解如何使用Sqoop工具进行数据在Hadoop集群与关系型数据库之间的迁移。Sqoop是一款由Apache开发的开源软件,专门用于...

    大数据系列2020-数据迁移工具资料汇总(sqoop、kettle、datax).zip

    它支持批量导入导出数据,可以高效地将结构化的数据导入到Hadoop的HDFS或者HBase中,同时也能将数据从Hadoop导出回RDBMS。Sqoop利用MapReduce作业来处理数据传输,确保了并行性和可扩展性。使用Sqoop,你可以通过SQL...

    大数据技术基础实验报告-sqoop的安装配置与应用.doc

    Sqoop作为大数据处理的重要工具,简化了Hadoop和RDBMS之间的数据迁移工作。正确配置和使用Sqoop,可以有效地实现大数据的导入导出,提高数据处理的效率。在实验中,了解每个步骤的细节和注意事项,对于理解大数据...

    sqoop-1.4.6-cdh5.14.0

    1. 数据导入:Sqoop 可以高效地将结构化的数据从传统的 RDBMS 导入到 Hadoop 的 HDFS 中,支持批处理和增量导入,使得大数据分析能够利用到更多的历史数据。 2. 数据导出:同样,Sqoop 也允许用户将 HDFS 或 HBase ...

    sqoop-1.4.6-cdh5.9.3

    Sqoop 是一个在大数据生态系统中广泛使用的工具,主要用于在关系型数据库(如 MySQL、Oracle、SQL Server 等)和 Apache Hadoop 之间高效地导入和导出数据。标题 "sqoop-1.4.6-cdh5.9.3" 指的是 Sqoop 的一个特定...

    尚硅谷大数据技术之Sqoop1

    Sqoop是专为Hadoop和传统数据库之间进行数据传输而设计的开源工具,支持从RDBMS(如MySQL、Oracle等)导入数据到HDFS或者从HDFS导出数据到RDBMS。 **1. Sqoop简介** Sqoop自2009年起作为一个Hadoop的第三方模块发展...

    Sqoop-linux.zip

    Sqoop 是一个在 Linux 环境下广泛使用的工具,用于在关系数据库和 Apache Hadoop 之间高效地导入和导出数据。这个压缩包“Sqoop-linux.zip”包含两个版本的 Sqoop 安装包:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar....

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

    Sqoop 是一个用于在 Apache Hadoop 和传统关系型数据库之间高效传输数据的工具。这个压缩包 "sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz" 包含了 Sqoop 的 1.4.6 版本,它已针对 Hadoop 2.0.4-alpha 版本进行了...

Global site tag (gtag.js) - Google Analytics