1.环境准备
安装 Sqoop 的前提是已经具备 Java 和 Hadoop、Hive、ZooKeeper、HBase 的 环境。
2.下载安装
所需的安装包:链接: https://pan.baidu.com/s/1Uazwo7rHJdwRHfudMV7QMQ 提取码: cnj7
1.上传安装包 sqoop-1.4.6-cdh5.14.2.tar.gz
到虚拟机中的/opt
文件夹
2.解压 sqoop 安装包到指定目录并改名文件夹为sqoop
tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.gz
3.配置环境变量
vi /etc/profile
添加如下内容:
export SQOOP_HOME=/opt/sqoop
export PATH=$SQOOP_HOME/bin:$PATH
让配置文件生效
source /etc/profile
查询版本,出现如下说明配置成功
3.修改配置文件
Sqoop 的配置文件与大多数大数据框架类似,在 sqoop 根目录下的 conf 目录 中
1.重命名配置文件
mv sqoop-env-template.sh sqoop-env.sh
2.修改配置文件
sqoop-env.sh
export HADOOP_COMMON_HOME=/opt/hadoop
export HADOOP_MAPRED_HOME=/opt/hadoop
export HIVE_HOME=/opt/hive
export ZOOKEEPER_HOME=/opt/zookeeper
export ZOOCFGDIR=/opt/zookeeper
export HBASE_HOME=/opt/hbase
4.拷贝 JDBC 驱动
下载驱动包:链接: https://pan.baidu.com/s/1qdRiXvHASh7heJOCylIJ-g 提取码: 82xv
cp mysql-connector-java-5.1.27-bin.jar /opt/sqoop/lib/
5.验证 Sqoop
我们可以通过某一个 command 来验证 sqoop 配置是否正确:
sqoop help
出现一些 Warning 警告(警告信息已省略),并伴随着帮助命令的输出:
6.测试 Sqoop 是否能够成功连接数据库
sqoop list-databases --connect jdbc:mysql://hadoop100:3306/ --username root --password ok
这里需要配置自己 mysql 数据库的连接信息
注意1.
如果想要去掉前面的警示提醒
到Sqoop配置文件中$SQOOP_HOME/bin/configure-sqoop,注释掉检查
:<<!
## 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
if [ ! -d "${ACCUMULO_HOME}" ]; then
echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."
echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'
fi
!
这样就不会出现警告项了
注意2.
sqoop异常:Exception in thread “main” java.lang.NoClassDefFoundError: org/json/JSONObject
解决方案
这是因为sqoop缺少java-json.jar包. 下载jar包导入lib目录下
wget http://www.java2s.com/Code/JarDownload/java-json/java-json.jar.zip
mv java-json.jar /home/hadoop/app/sqoop/lib/