Hadoop业务的大致开发流程以及Sqoop在业务中的地位:


Sqoop概念

Sqoop可以理解为【SQL–to–Hadoop】,正如名字所示,Sqoop是一个用来将关系型数据库和Hadoop中的数据进行相互转移的工具。它可以将一个关系型数据库(例如Mysql、Oracle)中的数据导入到Hadoop(例如HDFS、Hive、Hbase)中,也可以将Hadoop(例如HDFS、Hive、Hbase)中的数据导入到关系型数据库(例如Mysql、Oracle)中。


Sqoop版本对比

Sqoop1和Sqoop2对比:

  • 两个版本,完全不兼容,Sqoop1几乎无法平滑升级到Sqoop2
  • 版本号划分区别
  • Apache版本:1.4.x(Sqoop1); 1.99.x(Sqoop2)
  • CDH版本 : Sqoop-1.4.3-cdh4(Sqoop1) ; Sqoop2-1.99.2-cdh4.5.0 (Sqoop2)
  • Sqoop2 相对 Sqoop1的改进
  • 引入Sqoop server,集中化管理connector等
  • 访问方式多样化:CLI(command-line interface,命令行界面),Web UI,REST API
  • 引入基于角色的安全机制

在架构上,sqoop2引入了sqoop server(具体服务器为tomcat),对connector实现了集中的管理。其访问方式也变得多样化了,其可以通过REST API、JAVA API、WEB UI以及CLI控制台方式进行访问。

另外,其在安全性能方面也有一定的改善,在sqoop1中我们经常用脚本的方式将HDFS中的数据导入到mysql中,或者反过来将mysql数据导入到HDFS中,其中在脚本里边都要显示指定mysql数据库的用户名和密码的,安全性做的不是太完善。在sqoop2中,如果是通过CLI方式访问的话,会有一个交互过程界面,你输入的密码信息不被看到。


Sqoop架构对比




安装部署

移步sqoop官网:http://sqoop.apache.org/



我们可以看到现在的稳定版本是1.4.6,1.99.7与1.4.6不兼容,并且1.99.7不适用于生产部署。所以我们下载1.4.6版本。

1、下载

下载地址:http://www-eu.apache.org/dist/sqoop/1.4.6/

下载 sqoop-1.4.6.bin__hadoop-1.0.0.tar.gz

2、解压安装

tar -zxvf sqoop-1.4.6.bin__hadoop-1.0.0.tar.gz -C /data
cd /data
mv sqoop-1.4.6.bin__hadoop-1.0.0/ sqoop1
chmod -R 775 /data/sqoop1
chown -R hadoop:hadoop /data/sqoop1

3、配置环境变量

vim /etc/profile

export SQOOP_HOME=/data/sqoop1
export PATH=$PATH:$SQOOP_HOME/bin source /etc/profile

4、其他配置

(1)下载mysql驱动包,mysql-connector-java-5.1.40-bin.jar,把jar包丢到到$SQOOP_HOME/lib下面

(2)接下来修改sqoop的配置文件

cd /data/sqoop1/conf
cp sqoop-env-template.sh sqoop-env.sh vim sqoop-env.sh # 指定各环境变量的实际配置
# Set Hadoop-specific environment variables here. #Set path to where bin/hadoop is available
#export HADOOP_COMMON_HOME= #Set path to where hadoop-*-core.jar is available
#export HADOOP_MAPRED_HOME= #set the path to where bin/hbase is available
#export HBASE_HOME= #Set the path to where bin/hive is available
#export HIVE_HOME=

5、验证是否成功

# 列出所有数据库
sqoop list-databases --connect jdbc:mysql://ip:port --username username --password pwd # 列出数据库所有表
sqoop list-tables --connect jdbc:mysql://ip:port/dbname --username username --password pwd

链接相关

大数据进阶计划

http://wangxin123.com/2017/02/18/大数据进阶计划/

Sqoop下载地址

http://www-eu.apache.org/dist/sqoop/1.4.6/

Sqoop v1.4.6 文档

http://sqoop.apache.org/docs/1.4.6/index.html

Sqoop简介及安装的更多相关文章

  1. Sqoop 简介与安装

    一.Sqoop 简介 Sqoop是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从MySQL,Oracle等关系型数据库中导入数据到HDFS.Hive.HBase ...

  2. 入门大数据---Sqoop简介与安装

    一.Sqoop 简介 Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS.Hive.H ...

  3. Sqoop介绍、安装与操作

    搭建环境 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放 Hadoop等组件运行包.因为该目录用于安装hadoo ...

  4. java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式

    Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...

  5. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  6. Java Gradle入门指南之简介、安装与任务管理

        这是一篇Java Gradle入门级的随笔,主要介绍Gradle的安装与基本语法,这些内容是理解和创建build.gradle的基础,关于Gradle各种插件的使用将会在其他随笔中介绍.    ...

  7. 细细品味Storm_Storm简介及安装

    Storm是由专业数据分析公司BackType开发的一个分布式实时数据处理软件,可以简单.高效.可靠地处理大量的数据流.Twitter在2011年7月收购该公司,并于2011年9月底正式将Storm项 ...

  8. VMware vSphere 5.1 简介与安装

    虚拟化系列-VMware vSphere 5.1 简介与安装  标签: 虚拟化 esxi5.1 VMware vSphere 5.1 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  9. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

随机推荐

  1. QQ_MultiTalkServer

    package test_teacher;import java.net.*;import java.io.*;public class MultiTalkServer{    public stat ...

  2. 基于Flink的windows--简介

    新的一年,新的开始,新的习惯,现在开始. 1.简介 Flink是德国一家公司名为dataArtisans的产品,2016年正式被apache提升为顶级项目(地位同spark.storm等开源架构).并 ...

  3. Webdriver API之元素定位

    Webdriver提供了8种元素定位方法:id.name.class name.tag name.link text.partial link text.xpath.css selector 一.以上 ...

  4. 概率检索模型及BM25

    概率排序原理 以往的向量空间模型是将query和文档使用向量表示然后计算其内容相似性来进行相关性估计的,而概率检索模型是一种直接对用户需求进行相关性的建模方法,一个query进来,将所有的文档分为两类 ...

  5. 如何快速理解JavaScript 中重要语句for循环

    一.基本结构:for(起始状态:判断条件:状态改变){ 执行语句: } 执行顺序:for(var i=1;i<3;i++){ alert(i); } 1.判断条件    2.执行语句    3. ...

  6. 一个 Vue + Node + MongoDB 博客系统

    源码 耗时半载(半个月)的大项目终于完成了.这是一个博客系统,使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的 ...

  7. [系统启动]Printk与sched_clock_init的一点分析

     作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 在分析Linu内核启动的过程中,发现一段"不平常" ...

  8. OpenMP 入门教程

    前两天(其实是几个月以前了)看到了代码中有 #pragma omp parallel for 一段,感觉好像是 OpenMP,以前看到并行化的东西都是直接躲开,既然躲不开了,不妨研究一下: OpenM ...

  9. Elasticsearch【正则搜索】分析&实践

    在ES中有很多使用不是很频繁的查询,可以达到一些特殊的效果.比如基于行为路径的漏斗模型.本篇就从使用上讲述一下正则表达式查询的用法. Regexp Query regexp允许使用正则表达式进行ter ...

  10. 微信公众号开发笔记1(nodejs开发的)

    本篇记录了微信公众号开发的一些笔记 一.微信服务器与我们服务器的交流 微信开发者拥有自己的服务器,在我们服务器上可以与微信服务器进行交流.既然可以交流,那就必定需要前提条件(微信认证),也就是说,只有 ...