1 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLCl
其原因是jdk版本过高,我用的是9 ,所以将jdk改为1.8即可,但我还是报这个错误,原因是我没有删除原来的9,hadoop配置的是9。而hive会自动加载hadoop配置
so 更改hadoop配置 vim hadoop-env.sh
结论:程序还是用stable 不用最新版
2 we dont support retries at the client level
- 修改mysql的字符集
- alter database hive character set latin1;
- 然后换个版本的mysql驱动
sqoop 从mysql导入到hive
2 ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf ,有人说将hive-common.jar 放到 sqoop lib下但那样又会引发另一个错误,
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/shims/ShimLoader
是因为sqoop需要mysql的一些库,所以在/etc/profile中添加以下
export HADOOP_CLASSPATH=$HADOOP_HOME:$HIVE_HOME/lib/*
version 1.4.7 1.2.2
3 ls: cannot access '/opt/spark-2.4.0/lib/spark-assembly-*.jar': No such file or directory
主要是spark升级后jar包位置更改导致,修改一下hive源码即可
找到这一行 sparkAssemblyPath=`ls ${SPARK_HOME}/lib/spark-assembly-*.jar`
sparkAssemblyPath=`ls ${SPARK_HOME}/jars/*`
4 Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path
需要将 hadoop环境配置到/etc/profile 并且hadoop在hive前面
而且hive-env.sh 中还有配置hadoop 路径不能配错