sqoop安装

↘锁芯ラ 提交于 2020-08-09 16:05:33
1、 下载并解压
 下载地址:https://mirror.bit.edu.cn/apache/sqoop/1.4.7/
上传安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到虚拟机中
解压sqoop安装包到指定目录,如:
$ tar -zxf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 
2、修改配置文件
Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。
cp sqoop-env-template.sh sqoop-env.sh 
修改配置文件
vim /usr/local/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf/sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/hadoop/hadoop-2.7.7
export HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-2.7.7
export HIVE_HOME=/usr/local/hadoop/hive-2.3.7
 
3、拷贝JDBC驱动
链接:https://pan.baidu.com/s/1T_trw5X10a8ehraoVx12yg 
提取码:gnfz 
mysql-connector-java-5.1.46-bin.jar
拷贝到/usr/local/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/lib下
 
4 、验证Sqoop
我们可以通过某一个command来验证sqoop配置是否正确:
/usr/local/hadoop/sqoop-1.4.7.bin__hadoop-2.6.0/bin/sqoop help
出现一些Warning警告(警告信息已省略),并伴随着帮助命令的输出:
 
5、测试Sqoop是否能够成功连接数据库
步骤阅读./sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 123456
 
出现如下输出:
 
6.mysql数据导入hive:
./sqoop import --connect jdbc:mysql://localhost:3306/bim_platform --username hive --password 123456 --table project -m 1 --hive-import --target-dir temp1
 

问题:

1. Caused by: java.sql.SQLException: Access denied for user 'hive'@'localhost' (using password: YES)
权限问题:
grant all privileges on *.* to hive@'%' identified by '123456' with grant option;
 
grant all privileges on *.* to hive@'localhost' identified by '123456' with grant option;
驱动包问题:
mysql-connector-java-5.1.37-bin.jar

2.sqoop 报 Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR 解决方法

20/06/04 10:55:47 ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.
20/06/04 10:55:47 ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
 
将hive 里面的lib下的hive-exec-**.jar 放到sqoop 的lib 下可以解决以下问题。
 
3.20/06/04 10:51:54 ERROR tool.ImportTool: Import failed: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://hadoop-master:9000/user/root/temp10 already exists
修改一些目录
./sqoop import --connect jdbc:mysql://localhost:3306/bim_platform --username hive --password 123456 --table project -m 1 --hive-import --target-dir temp12
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!