• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

基于Hadoop的sqoop组件的部署

开发技术 开发技术 1个月前 (04-24) 18次浏览

基于Hadoop的sqoop组件的部署

什么是 Sqoop

  • Sqoop 是一款开源的工具,主要用于在 Hadoop(Hive)与传统的数据库(mysql、postgresql…) 间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres 等)中的 数据导进到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库
  • Sqoop2 的最新版本是 1.99.7。请注意,2 与 1 不兼容,且特征不完整,它并不打算用于生产部署。

Sqoop 原理

  • 将导入或导出命令翻译成 mapreduce 程序来实现。
  • 在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制。

Sqoop 安装(重点)

  • 解压 Sqoop 包到指定目录

    • tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/
  • 修改 & 重命名配置文件

    • 重命名配置文件

      • mv sqoop-env-template.sh sqoop-env.sh
    • 修改配置文件

      • export HADOOP_COMMON_HOME={hadoop 安装目录}
        export HADOOP_MAPRED_HOME={hadoop 安装目录}
        export HIVE_HOME={Hive 安装目录}

      • 注:配置文件中还可以添加其他组件的配置,例如 Zookeeper,Hbase 等,不设置的情况下,会报警告

  • 拷贝 jdbc 驱动到 sqoop 的 lib 目录下

    • cp mysql-connector-java-5.1.37.jar /opt/module/sqoop-1.4.6/lib/
  • 配置环境变量,方便执行命令

    • export SQOOP_HOME={sqoop 安装目录}
      export PATH=$PATH:$SQOOP_HOME/bin

    • 生效环境变量

      • source /etc/profile
  • 连接 MySQL 测试

    • sqoop list-databases –connect jdbc:mysql://主机名:3306/ –username root –password mysql密码

    • 出现的日志包含如下结果则 MySQL 连接成功

      • information_schema
        metastore
        mysql
        oozie
        performance_schema


程序员灯塔
转载请注明原文链接:基于Hadoop的sqoop组件的部署
喜欢 (0)