基于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= -
注:配置文件中还可以添加其他组件的配置,例如 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
-
-
浙公网安备 33010602011771号