美文网首页
sqoop2部署与使用

sqoop2部署与使用

作者: 番茄ozz | 来源:发表于2018-12-12 14:42 被阅读0次
    记录:sqoop2的安装与使用
    前提:已部署好Hadoop集群与mysql
    版本说明: hadoop-2.6.0-cdh5.7.0、mysql Ver 14.14 Distrib 5.7.24
    

    下载sqoop2

    注意:一定要下载相对应Hadoop版本的sqoop,不然会出各种错误(亲身体会)

    版本:sqoop2-1.99.5-cdh5.7.0

    下载地址:http://archive.cloudera.com/cdh5/cdh/5/sqoop2-1.99.5-cdh5.7.0.tar.gz

    安装

    1. 解压

    2.配置环境变量,添加:
    export SQOOP_HOME= sqoop解压路径
    export PATH=PATH:SQOOP_HOME/bin
    export CATALINA_BASE=/home/hadoop/app/sqoop/server
    export LOGDIR=$SQOOP_HOME/logs/ 这个logs目录可能需要新建

    3.修改sqoop的配置文件
    vim server/conf/sqoop.properties:
    将org.apache.sqoop.submission.engine.mapreduce.configuration.directory后面hadoop的位置修改为自己Hadoop路径
    vim server/conf/catalina.properties:
    将common.loader行后的/usr/lib/hadoop/lib/.jar改成自己的hadoop jar 包目录
    注意: 在修改common.loader的过程中,不能换行,路径中不能有空格。

    4.复制mysql-connector-java-5.1.21.jar(mysql驱动)到$SQOOP_HOME/server/lib/下

    部署完毕

    遇到问题:曾因为安装的版本不一致,启动时会报错
    

    使用

    服务器端: 启动/停止服务

    bin/sqoop.sh server start / stop
    启动成功标示:


    image.png

    客户端:

    1.启动: $SQOOP_HOME/bin/sqoop.sh client
    2.连接服务器端:set server --host IP地址 --port 12000(默认) --webapp sqoop(仓库)
    判断是否成功:使用show version -all正确的显示,就说明连接上了Sqoop2的服务器

    常用操作:

    设置提示报错:set option --name verbose --value true
    查看连接器:show connector
    查看link: show link
    查看job: show job

    Mysql导到Hdfs

    1.使用连接器,创建mysql 连接
    create link --cid 1(mysql连接器ID)
    会提示需要输入:
    Name:mysql (link名)
    Link configuration
    JDBC Driver Class:com.mysql.jdbc.Driver
    JDBC Connection String:jdbc:mysql://IP地址:3306/数据库名
    Username: root(用户)
    Password: **********(密码)
    JDBC Connection Properties:
    There are currently 0 values in the map:
    entry#
    若成功则会提示:
    New link was successfully created with validation status OK and persistent id xxx

    2.创建Hdfs link
    create link -cid 3
    Creating link for connector with id 3
    Please fill following values to create new link object
    Name: hdfs_test
    Link configuration
    HDFS URI: hdfs://IP地址:8020(fs.defaultFS 的值)/sqoop_dir
    New link was successfully created with validation status OK and persistent id 3

    3.创建job:
    create job --f 2(输入link) --t 3(输出link)
    会提示需要输入:
    Name: mysql_tohdfs
    From database configuration
    Schema name: sqoop_test(数据库)
    Table name: sqoop_test(表名,与Table SQL statement二选一)
    Table SQL statement: # SQL语句(选填)
    Table column names:
    Partition column name: (主键,不填时会报错)
    Null value allowed for the partition column:
    Boundary query:
    ToJob configuration
    Override null value:
    Null value:
    Output format:
    0 : TEXT_FILE
    1 : SEQUENCE_FILE
    Choose: 0 ( 指定在HDFS中的数据文件是什么文件格式 )
    Compression format:
    0 : NONE
    1 : DEFAULT
    2 : DEFLATE
    3 : GZIP
    4 : BZIP2
    5 : LZO
    6 : LZ4
    7 : SNAPPY
    8 : CUSTOM
    Choose: 0 (用于指定使用什么压缩算法进行导出数据文件压缩)
    Custom compression format: (指定的custom压缩算法)
    Output directory: /sqoop_dir/test(指定存储在HDFS文件系统中的路径,这里最好指定一个存在的路径,或者存在但路劲下是空的,才能成功)
    Throttling resources
    Extractors:
    Loaders:
    若出现successful则证明已经成功创建
    New job was successfully created with validation status OK and persistent id 1

    4.启动job
    start job --jid jobID

    相关文章

      网友评论

          本文标题:sqoop2部署与使用

          本文链接:https://www.haomeiwen.com/subject/izdrhqtx.html