1、无法找到JDBC驱动
错误信息
以mysql为例,问题如图:
分析
错误信息很明显,无法加载mysql驱动。解决方法一般是在相应的lib下添加mysql的jdbc驱动包即可。
其他情报:
- 在终端执行Sqoop命令,只需要在 $SQOOP_HOME/lib 目录下增加jdbc驱动包,Sqoop在执行时就可以找到驱动。
- 在Hue中执行Sqoop是使用Oozie启动器执行的。判断依据如下:
在错误日志发现如图信息:
YARN应用程序监控页面显示:
可以发现在Hue执行的Sqoop操作是Oozie启动器执行的,不止Sqoop,Spark也是通过Oozie启动器执行的,推测其他应用也是。
这样设计应该是便于Oozie工作流管理。
所有我们使用hue报这个错的话需要把我们缺少放到oozie的sqoop共享库
比如我的路径,将对应的mysql驱动包上传到上面hdfs的sqoop路径
hdfs dfs -put mysql-connector-java-xxxx.jar /user/oozie/share/lib/lib_20210521110522/sqoop
放入后需要重启oozie或者更新共享库oozie admin -sharelibupdate
2、用户使用hue的hive时,hive的表的列命加载失败
报错:Error applying statement specific settings
在hive-site配置文件添加参数hive.security.authorization.sqlstd.confwhitelist.append = QUERY_TIMEOUT_S 然后重启下hiveserver2
3、hue页面报错 ‘ascii’ codec can’t encode characters in position 0-6: ordinal not in range(128)
编码报错
解决方法:修改配置后需要重启
vim${HUE_HOME}/build/env/lib/python2.7/site-packages/sitecustomize.py
然后内容写:
#encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
4、hue使用workflow调度hiveserver2任务,hue上显示成功,但是真正的作业yarn上没有运行
显示No child hadoop job is executed
解决:hue解析问题,";" 后面需要换行