Hive的一些问题总结

问题一

Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083

解决方法:

遇到这种情况大家都找不到头绪,是因为你开始的时候运行了hive的metastore,可以通过输入命令:
jps
查看有没有RunJar
然后再输入命令来启动:

hive --service metastore  

问题二

Hive在spark2.0.0启动时无法访问spark-assembly-*.jar的解决办法

ls: /usr/local/share/spark-2.0.0-bin-hadoop2.7/lib/spark-assembly-*.jar: No such file or directory

原因:

发现主要原因是:在//bin/hive文件中,有这样的命令:加载spark中相关的JAR包

if [[ -n "$SPARK_HOME" ]]
then
sparkAssemblyPath=`ls ${SPARK_HOME}/lib/spark-assembly-*.jar`
CLASSPATH="${CLASSPATH}:${sparkAssemblyPath}"
fi

但是spark升级到spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在,所以hive没有办法找到这个JAR包。

解决方法:

修改//bin/hive文件,将加载原来的

lib/spark-assembly-*.jar`替换成jars/*.jar

就不会出现这样的问题。

问题三

Hive中一些需要注意的点:
1.hive.metastore.uris指向的是运行metastore服务的主机,并不是指向运行hiveserver的主机,那台主机不用启动hiveserver也ok;

2.直接使用hive命令启动shell环境时,其实已经顺带启动了hiveserver,所以远程模式下其实只需要单独启动metastore,然后就可以进入shell环境正常使用

3.hiveserver和metastore进程名都叫RunJar。

猜你喜欢

转载自blog.csdn.net/qq_41428711/article/details/85268213