这次因为需要将Oracle的数据迁移到HDFS中进行分析,所以在项目中用到了Sqoop,本文中所说明的配置方法是以此为目的的。
Sqoop 1.4.4 的安装非常简单,在配置好了Hadoop集群了之后,配置Sqoop只需要简单的几步就可以完成。
配置安装:
1.下载并解压Sqoop
2.设置环境变量
我的环境变量设置如下:
#Sqoop 1.4.4
export SQOOP_HOME=/home/hadoop/sqoop_dir
export PATH=$PATH:$SQOOP_HOME/bin
需要注意的一点是确保Hadoop集群的环境变量中包含如下设置,否则在执行Sqoop命令时会出现无法进行reduce等错误。
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
环境变量修改之后,需要source/etc/profile使修改生效。
3.如果不使用HBase的话,需要将$SQOOP_HOME/bin/configure-sqoop文件中的如下内容注释掉,否则在执行Sqoop时,每次都会对其进行检查,虽然可以执行,但是还是会弹错误
## Moved to be a runtime check in sqoop.
#if [ ! -d "${HBASE_HOME}" ]; then
# echo"Warning: $HBASE_HOME does not exist! HBase imports will fail."
# echo'Please set $HBASE_HOME to the root of your HBase installation.'
#fi
## Moved to be a runtime check in sqoop.
#if [ ! -d "${HCAT_HOME}" ]; then
# echo"Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
# echo'Please set $HCAT_HOME to the root of your HCatalog installation.'
#fi
4. 下载与Oracle版本符合的ojdbc,并将其放到$SQOOP_HOME/lib下面
5.将Sqoop根目录上传到HDFS
到此为止已经可以使用可以使用sqoop help命令查看sqoop的帮助了,但是在进行迁移的时候,会显示找不到相应的一些jar文件,同时注意到了错误中显示的地址为HDFS中的地址,因此将整个sqoop文件夹复制到了HDFS中,HDFS中的路径需要与Linux中的绝对路径一致,上传之后就可以正常使用它将Oracle中的数据迁移到HDFS中了。