sqoop把mysql数据导入hive中,报错:java.lang.NullPointerException at org.json.JSONObject.
在大数据环境中,使用sqoop导入mysql数据到hive中,报错,如下
解决办法:
这是因为sqoop缺少java-json.jar包.
下载java-json.jar包:
http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm
把java-json.jar添加到../sqoop/lib目录:
还有其他问题
问题2:root用户写入HDFS文件错误 "Permission denied: user=root"
解决办法:
因为在使用sqoop导入HDFS文件时,使用的是root用户,没有写hdfs文件的权限。
CDH安装时创建了hdfs用户,应使用hdfs用户登录,再时行sqoop导入
[[email protected] ~]# su - hdfs
[[email protected] ~]$ pwd
/var/lib/hadoop-hdfs
[[email protected] ~]$ ls
问题3:其它hadoop节点不连接MySql "is not allowed to connect to this MySQL server"
解决办法:
这是因为客户端没有访问mysql的权限,修改sqoop用户的客户端访问权限。
--登录mysql服务器
[[email protected] ~]# mysql -uroot -proot
mysql> grant all privileges on *.* to 'sqoop'@'%' identified by 'sqoop' with grant option;
Query OK, 0 rows affected (0.00 sec)