sqoop的安装与工作机制

来源:互联网 发布:提升网络安全意识 编辑:程序博客网 时间:2024/06/18 10:05
一:sqoop=sql—>haoop
 1.1sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具
         导入数据MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;
        导出数据:从Hadoop的文件系统中导出数据到关系数据库
         
1.2 工作机制(封装的mapreduce程序
  1.将导入或导出命令翻译成mapreduce程序来实现
  2.在翻译出的mapreduce中主要是对inputformat和outputformat进行定制
  (不用sqoop也是通过mapreduce程序完成数据的导入导出,不过mapreduce也是通过对inputformat和outputformat进行定制完成的)
1.3Sqoop的原理
    其实就是将导入导出命令转化为mapreduce程序来执行,sqoop在接收到命令后,都要生成mapreduce程序使用sqoop的代码生成工具可以方便查看到sqoop所生成的java代码,并可在此基础之上进行深入定制开发.
二:sqoop的安装
     安装前提:
    1.安装sqoop的前提是已经具备java和hadoop的环境
    2.最新版下载地址http://ftp.wayne.edu/apache/sqoop/1.4.6/  
    开始安装:
           1.将基于linux的sqoop安装包拷贝到/opt/softwares
           2.解压sqoop  tar -zxvf sqoop-1.4.5-cdh5.3.6.tar.gz  -C /opt/modules/
           3.配置文件 
                1. mv sqoop-env-template.sh  sqoop-env.sh 修改文件名
                    vi sqoop-env.sh 修改如下文件
                     #export HADOOP_COMMON_HOME=
                   export HADOOP_COMMON_HOME=/opt/modules/hadoop-2.5.0-cdh5.3.6/
                    #Set path to where hadoop-*-core.jar is available
                    #export HADOOP_MAPRED_HOME=
                   export HADOOP_MAPRED_HOME=/opt/modules/hadoop-2.5.0-cdh5.3.6/
                    #set the path to where bin/hbase is available
                    #export HBASE_HOME=

                    #Set the path to where bin/hive is available
                    #export HIVE_HOME=
                   export HIVE_HOME=/opt/modules/hive-0.13.1-cdh5.3.6/
                    #Set the path for where zookeper config dir is
                    #export ZOOCFGDIR=
                    #下面两个可以不用导入的(habase依靠zookeeper)
                   export ZOOCFGDIR=/opt/modules/zookeeper-3.4.5-cdh5.3.6/
                    export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.5-cdh5.3.6/        
            4.- 加入mysql的jdbc驱动包到sqoop的lib下(因为要和数据库mysql交互)
                   cp -r mysql-connector-java-5.1.27-bin.jar     /opt/modules/sqoop-1.4.5-cdh5.3.6/lib/
            5. 测试 使用:  bin/sqoop/help 查看帮助
            6.测试Sqoop是否能够连接mysql成功:下面这些要一起输入
                    bin/sqoop list-databases --connect jdbc:mysql://hadoop102:3306/metastore\
                    --username root \
                    --password 123456
             输出:
                        information_schema
                        ha
                        metastore
                        mysql
                        performance_schema
             
原创粉丝点击