zoukankan      html  css  js  c++  java
  • sqoop安装及使用

    最近单位在研究大数据,我把我研究的写出来供大家参考。

    1.安装sqoop

     

    首先在官网下载sqoop.jarsqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz

    安装到指定目录下 /home/cluster/sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz

    解压缩 tar -zxvf  sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz得到压缩文件sqoop-1.4.4

    2.下载mysql 驱动包

    官网下载连接mysql jar包放到压缩文件的lib

    3.配置环境变量

     Vi /etc/profile  export SQOOP_HOME=/home/cluster/sqoop-1.4.4 

    4.配置sqoop参数

        复制sqoop_home/conf/sqoop-env-template.sh 一份重命名为sqoop-env.sh

    修改环境变量

    拷贝核心包 将hadoop的核心jar包和mysql的驱动包拷贝至sqoop/lib

    5.测试连接mysql

    [root@hadoop10 sqoop-1.4.4]# bin/sqoop list-tables --connect jdbc:mysql://XXX:3306/XXX --username XXX  --password XXX

    6.导入数据到hbase

    sqoop  import  --connect jdbc:mysql://XXX/XXX --username XXX --password XXX --table demo_blog --hbase-table demo_sqoop2hbase --hbase-create-table --hbase-row-key id --column-family url

     

    Demo_sqoop2hbase是导入到hbase里面的表名

    Demo_blogmysql中要导入到hbase中的表名

     

    输入hbase shell进入到hbase shell 命令行里面输入 list

     

    输入scan “demo_sqoop2hbase”可查看导入的数据

    describe "demo_sqoop2hbase"

     

    7.导入数据到hive

    bin/sqoop import --connect jdbc:mysql://XXX:3306/XXX --table tb_member --username XXX --password XXX --hive-import

     

    Sqoop定时增量

    一、sqoop的配置文件在sqoop.site.xml中:

    1sqoop.metastore.server.location

            本地存储路径,默认在tmp下,改为其他路径

        2sqoop.metastore.server.port

              metastore service端口号

        3sqoop.metastore.client.autoconnect.url

            sqoop自动连接的metastore地址,默认是本地的metastore地址

        4sqoop.metastore.client.enable.autoconnect

           开启自动连接。sqoop默认连接本地metastore。注释这个配置会开启自动连接。

    二.开启metastore service

    nohup bin/sqoop metastore

    三、创建job

    bin/sqoop job --create your-sync-job -- import --connect jdbc:mysql://XXX:3306/XXX--table tb_order --username XXX-P --hive-import --incremental append --check-column id --last-value 1 -- --default-character-set=utf-8

    .运行job

    Sqoop job --exec your-sync-job

     

    五.定时执行

    使用linux定时器:crontab -e

    编辑定时器,添加*/4 * * * *  sqoop job --exec  your-sync-job

    遇到问题

    1.执行crontab -e 提示crontab commend not found

    1 下载定时器Jar 包

    2 yum -y install gcc gcc-c++ autoconf vixie-cron

    3 yum -y install gcc gcc-c++ autoconf crontabs vixie-cron软件包是cron的主程序; crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

    2.避免重复输入密码

    找到sqoop-site.xml的配置文件,发现如下配置:

     

    <property>  
       <name>sqoop.metastore.client.enable.autoconnect</name>  
       <value>false</value>  
       <description>If true, Sqoop will connect to a local metastore  
         for job management when no other metastore arguments are  
         provided.  
        </description>  
      </property>  
    View Code

     

    看来这个值设置为了false,导致不能够使用Job相关操作了。

    1 <property>  
    2    <name>sqoop.metastore.client.record.password</name>  
    3    <value>true</value>  
    4    <description>If true, allow saved passwords in the metastore.  
    5    </description>  
    6   </property>  
    View Code

     

    当这个值为真的时候才会保存密码。(切记:改完配置文件要将metastore进程杀死 重新启动 配置文件才会生效)

  • 相关阅读:
    IntelliJ IDEA快捷键
    Find Minimum in Rotated Sorted Array
    爬取淘宝交易记录的爬虫
    MR并行算法编程过程中遇到问题的思考
    Map.Entry用法示例
    给定一组数和一个目标值,返回和为目标值的集合(集合中的元素可重复)
    位运算:获取集合的子集
    Linux每次开机都要source profile的解决办法
    mysql数据导入导出
    linux下nginx编译安装(抄别人的,方便查看)
  • 原文地址:https://www.cnblogs.com/na-java/p/3924912.html
Copyright © 2011-2022 走看看