一、在hp1上传Sqoop到/apps文件夹
二、解压:
tar -zxvf /apps/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local
三、建立软连接:
ln -s sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop
如图所示:
四、修改环境变量
cd /etc/profile.d/
vi sqoop.sh
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
使环境变量生效:
source sqoop.sh
五、修改sqoop配置文件,其配置文件都在conf目录下:
将 sqoop-env-template.sh改名成 sqoop-env.sh
mv sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
编辑为:
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/usr/local/hadoop3
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/usr/local/hadoop3
#set the path to where bin/hbase is available
#export HBASE_HOME=
#Set the path to where bin/hive is available
export HIVE_HOME=/usr/local/hive3
#Set the path for where zookeper config dir is
#export ZOOCFGDIR=
六、添加连接mysql、hive的jar包
将mysql-connector-java-5.1.47-bin.jar添加到sqoop/lib目录下。
将commons-lang-2.6.jar添加到sqoop/lib目录下。
将hive-common-3.1.2.jar添加到sqoop/lib目录下。
七、查看sqoop版本号:
sqoop version
出现下图所示版本号信息,则说明Sqoop配置是成功的。警告信息可以忽视。
八、测试
sqoop list-databases -connect jdbc:mysql://hp1:3306 -username root -password Hive123+
已上命令使用sqoop测试是否能连接上mysql,打印出mysql中的数据库:
常见异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
解决方案:将commons-lang-2.6.jar添加到sqoop/lib目录下。
ERROR tool.CreateHiveTableTool: Encountered IOException running create table job: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
解决方案:将hive-common-3.1.2.jar添加到sqoop/lib目录下。