1. 下载并安装配置Sqoop

【需要的环境:Hadoop,Java】

首先  Hadoop版本2.7.2

20161013

找了篇Sqoop的文章就开撸  结果发现什么1.3,1.9,又有什么Sqoop1,Sqoop2.乱了。

先是使用的1.3,两个多小时,各种失败。发现还有一个与hadoop的版本兼容问题。

下午立即开始使用官网的Sqoop2,发现只有1.99.7,先用吧

虽然好了一点,但还是各种问题,一天过去了。。

注意: sqoop1的1.4.x及以下版本是与hadoop-2.6.x以下兼容,sqoop2是与hadoop-2.6.0+兼容,千万不能弄错!

还有,下载的这个压缩包里面都有一个doc文件夹,里面放着文档,因为版本较多且兼容问题严重,所以一定要参照这个文档安装和配置

20161014

昨天捣鼓了一天,先是Sqoop1.3,然后用1.99.7.结果各种问题;

今天早上又去官网游荡了一下,发现这个1.99.7还不是正式发行版,不能放到生产环境的,真够郁闷,没办法,打算尝试一下1.99.6吧。

然而 官网已经把1.99.6的安装包去掉了,只能去网上找了一份。试了一下  顺畅了许多。

具体安装配置过程:(sqoop的shell命令是在$SQOOP_HOME/bin目录下)

  1. 下载解压
  2. 配置~/.bashrc,然后执行 source ~/.bashrc 使变更即刻生效
    export PATH=.......:$SQOOP_HOME/bin:$PATH  #将红字部分插入原来的$PATH前面即可
    export SQOOP_HOME=/home/hadoop/sqoop #Sqoop根目录
    export CATALINE_BASE=$SQOOP_HOME/server
    export LOGDIR=$SQOOP_HOME/logs #log目录  
  3. 配置sqoop server
    1. $SQOOP_HOME/server/conf/catalina.properties文件,修改common.loader属性,引用$HADOOP_HOME/share/hadoop/* 和 */lib

      common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/../lib/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/common/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/common/lib/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/hdfs/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/hdfs/lib/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/mapreduce/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/mapreduce/lib/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/yarn/*.jar,/home/hadoop/hadoop-2.7.2/share/hadoop/yarn/lib/*.jar
    2. $SQOOP_HOME/server/conf/sqoop.properties
      org.apache.sqoop.submission.engine.mapreduce.configuration.directory=$HADOOP_HOME/etc/hadoop  #红字部分要替换成具体的路径,切记!
  4. 修改hadoop配置文件core-site.xml
    <property>
    <name>hadoop.proxyuser.$SERVER_USER.hosts</name>
    <value>*</value>
    </property>
    <property>
    <name>hadoop.proxyuser.$SERVER_USER.groups</name>
    <value>*</value>
    </property>
  5. 验证sqoop2服务器的配置情况 
    sqoop2-tool verify  #如果提示successful 就可以进行下一步了,否则需要查看错误信息和日志文件

到这里 配置就完成了。


Sqoop1.996命令

参考:http://www.mamicode.com/info-detail-411853.html

Show

  • show server --[all,host,port,webapp] #展示服务端信息
  • show option --name verbose  #展示客户端配置
  • show version --[all,client,server,protocol]
  • show connector [--all]
  • show connection [--all,--xid 3]
  • show job [--all,--jid 3]
  • show link [--all, --lid3]

Update

  • update connection --xid 2
  • update job --jid 2
  • update link --lid 3

Delete

  • delete connection --xid 3
  • delete job --jid 1
  • delete link --lid 2

Clone

  • clone connection --xid 2
  • clone job --jid 2
  • clone link --lid 2

Submission

  • start job --jid 2 -s
  • stop job --jid 2
  • status job --jid 2

开始数据传输

开始之前需要准备几个jar包

①如果数据库是MSSQL的话,需要下载这个SqlServerJDBC驱动SQL Server JDBC Driver & Connector

解压后将lib里面的jar文件拷贝到sqoop安装目录的server/lib下面

②mysql的话,需要下载mysql-connector-java

  1. 启动  Sqoop2包含了server和client,所以需要先启动server
  2. sqoop2.sh server start   #服务关闭:sqoop2-server stop 
  3. 以交互模式打开client 
    sqoop2-shell
  4. 配置客户端使用指定的Sqoop server
    set server --host your.host.com --port 12000 --webapp sqoop   #红字部分替换成自己的Sqoop服务器 一般用localhost即可  

创建数据库link

JDBC Driver Class: com.microsoft.sqlserver.jdbc.SQLServerDriver  #驱动名称
JDBC Connection String: jdbc:sqlserver://192.168.1.212:1433;DatabaseName=Test #格式与mysql略有出入,并且这是MSSQL2005以上的格式,2000的话 还有些区别
Username: sa
Password: *************
JDBC Connection Properties:
There are currently 1 values in the map:
protocol = tcp
entry#

创建hdfs link与mysql的方式一致

创建job与mysql仅仅有一点区别

就是Schema name: dbName.dbo  比mysql多了红字部分


Sqoop + MySql + Hadoop(HBase)

创建数据库link

Using Connector generic-jdbc-connector with id 4
Link configuration
JDBC Driver Class: com.mysql.jdbc.Driver
JDBC Connection String: jdbc:mysql://192.168.1.333:3306/someDB
Username: root
Password: 123
JDBC Connection Properties:
protocol = tcp

创建hdfs link

Using Connector hdfs-connector with id 3
Link configuration
HDFS URI: hdfs://hdfs nameservice:port/ #使用hadoop配置文件 core-site.xml中fs.defaultFS的值即可
Hadoop conf directory: /home/hadoop/hadoop/etc/hadoop #hadoop配置文件的路径

创建Job

Job with id 1 and name mysql2hdfs (Enabled: true, Created by hadoop at 16-10-17 下午3:56, Updated by hadoop at 16-10-17 下午4:48)
Throttling resources
Extractors: 2
Loaders: 2
From link: 1
From database configuration
Schema name: dbName
Table name: targetTableName
Table SQL statement:
Table column names:
Partition column name:
Null value allowed for the partition column:
Boundary query:
Incremental read
Check column:
Last value:
To link: 2
To HDFS configuration
Override null value:
Null value:
Output format: TEXT_FILE
Compression format: NONE
Custom compression format:
Output directory: hdfs:/mysqlData/sqoopTableName #要在hdfs中存放的路径
Append mode:

注意事项:

1.在执行job之前  最好执行命令

set option --name verbose --value true

这样如果执行出现问题,会把详细日志打印出来,一目了然。

2.一个job如果执行成功,在hdfs的指定目录下就会有生成的文件,如果想重新start一遍,需要把生成的文件删除才行

$HADOOP_HOME/bin/hadoop dfs -rm /mysqlData/sqoopTableName/*   #之前在job中设置的hdfs路径

查看生成的文件

$HADOOP_HOME/bin/hadoop dfs -cat /mysqlData/sqoopTableName/*
[hadoop@hadoop1 bin]$ ./hadoop dfs -cat /db_data/Cities/*
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it. 1,'青岛','0530'
2,'济南','0531' [hadoop@hadoop1 bin]$

To HBase:Sqoop1与Sqoop2的支持程度

Sqoop1的部署及使用

Sqoop2在1.99.6开始通过KiteConnector的方式在一定程度上支持了HBase的读写 传送门

Sqoop2搭建及使用的更多相关文章

  1. Hadoop2.5.0 搭建实录

    目录: 第一步:准备相关材料 第二步:虚拟机环境搭建 第三步:用户信息 第四步 安装.配置Java环境 第五步 Zookeeper安装配置 第六步 Hadoop安装.配置 第七步:HBase安装部署 ...

  2. Sqoop2 环境搭建

    原文地址:http://www.cnblogs.com/luogankun/p/4209017.html 正在准备做Spark SQL external data source与关系型数据库交互的部分 ...

  3. Sqoop2环境搭建

    正在准备做Spark SQL external data source与关系型数据库交互的部分,参考下Sqoop2是如何操作关系型数据库的. 下载地址:http://archive.cloudera. ...

  4. 大数据系列(3)——Hadoop集群完全分布式坏境搭建

    前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...

  5. 大数据系列(1)——Hadoop集群坏境搭建配置

    前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到能被落地实施的可行性方 ...

  6. Sqoop2入门之导入关系型数据库数据到HDFS上(sqoop2-1.99.4版本)

    sqoop2-1.99.4和sqoop2-1.99.3版本操作略有不同:新版本中使用link代替了老版本的connection,其他使用类似. sqoop2-1.99.4环境搭建参见:Sqoop2环境 ...

  7. 0基础搭建Hadoop大数据处理-集群安装

    经过一系列的前期环境准备,现在可以开始Hadoop的安装了,在这里去apache官网下载2.7.3的版本 http://www.apache.org/dyn/closer.cgi/hadoop/com ...

  8. CDH 6.0.1 集群搭建 「Before install」

    从这一篇文章开始会有三篇文章依次介绍集群搭建 「Before install」 「Process」 「After install」 继上一篇使用 docker 部署单机 CDH 的文章,当我们使用 d ...

  9. Online Judge(OJ)搭建(第一版)

    搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...

随机推荐

  1. html的meta总结,html标签中meta属性使用介绍

    引用:http://www.haorooms.com/post/html_meta_ds 前言 meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta ...

  2. jsonp 演示实例 —— 基于node

    序 同源策略是浏览器处于安全考虑,为通信设置了"相同的域.相同的端口.相同的协议"这一限制.这让我们的ajax请求存在跨域无权限访问的问题. 同时我们发现script标签引入脚本的 ...

  3. 你所不知的 CSS ::before 和 ::after 伪元素用法

    CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此.前几天发现了 Creative Link Effects 这个非常有意思 ...

  4. VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

    [提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单 ...

  5. UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置

    一个UICollectionView有好多个cell,滑动一下,谁也不知道会停留在哪个cell,滑的快一点,就会多滑一段距离,反之则会滑的比较近,这正是UIScrollview用户体验好的地方. 如果 ...

  6. Linux2.6内核进程调度系列--scheduler_tick()函数1.总体思想

    参考的是ULK第三版,Linux2.6.11.12内核版本. 调度程序依靠几个函数来完成调度工作,其中最重要的第一个函数是scheduler_tick函数,主要步骤如下: /** * 维持当前最新的t ...

  7. Atitit.反编译apk android源码以及防止反编译apk

    Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool  apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...

  8. [环境搭建] VS-Visual Studio-IIS Express 支持局域网访问

    使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试.虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到 ...

  9. Linux服务器oraclejdk与openjdk共存并配置JavaEE开发环境

    由于本人学业的需要,需要在linux中搭建JavaEE开发环境,与windows的同学协同开发. JDK 由于fedora默认使用openjdk,移除多多少少会出现点问题,由于很多开源软件默认使用到它 ...

  10. [LoadRunner]LR11安装或破解时报错的解决方法

    背景:在性能测试项目上,需要安装到LR11进行性能测试,而在安装时会出现安装运行环境失败,安装文件缺失等问题.现总结了上述问题,并给出以下解决方法: 问题1:安装LoadRunner时出现“计算机缺少 ...