如何在idea 导入hive 源码并执行 client 交互窗口


1.先编译好hive源码

 

2.用idea打开hive源码,并build

 build前可以调整下jvm参数,否则build过程中容易OOM

 

添加jd/lib下的tools.jar,否则会报

java: Compilation failed: internal java compiler error

3.添加配置文件,运行client

创建resousces目录,并放入相关配置文件

 忘了放入core-site.xml,则找不到hadoop相关配置会报

org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)Lorg/apache/hadoop/io/nativeio/NativeIO$POSIX$Stat

这个错误,也有可能是 C: windows\System32缺少或者没有对应版本的 hadoop.dll and winutils.exe 文件

2个下载链接

https://github.com/steveloughran/winutils https://github.com/selfgrowth/apache-hadoop-3.1.1-winutils

4.启动client中可能遇到的问题解决

找不到类:com/lmax/disruptor/EventTranslatorVararg 

 从报错信息上看是找不到包,我们看看pom文件

 果然,我们讲test注释掉,也解决了下面的问题

找不到类:org.apache.commons.io.FileUtils

 5.添加VM参数 和启动hive元数据服务

添加下面参数,否则运行client输入命令,看不到输出反馈

-Djline.WindowsTerminal.directConsole=false

在集群启动hive元数据服务

 hive --service metastore -p 9083 &

6.查看结果