上一篇主要写了hive2.1.1源码编译并编译成eclipse项目,这一篇主要写将hive2.1.1源码导入eclipse以及运行hive命令的入口类CliDriver.java。在导入及运行的过程会遇到各种各样的问题,本文写了自己遇到的问题及解决方案。把项目跑起来非常重要,这些都是我们后面分析调试hive编译模块源码的基础。
加油!
1、安装eclipse
下载eclipse软件:eclipse-jee-neon-3-linux-gtk-x86_64.tar.gz 自己也可依据自己喜好来下载版本
解压 tar -zxvf eclipse-jee-neon-3-linux-gtk-x86_64.tar.gz
创建桌面快捷方式 ln -s /usr/local/eclipse/eclipse ~/Desktop/
2、把编译好的hive源码项目导入eclipse
我们编译好的源码路径/usr/local/workspace/apache-hive-2.1.1-src
打开eclipse,File-->Import 导入maven项目
导入后:
发现有报错,这些报错主要是因为maven 的pom.xml文件报错
maven pom文件报错如下:
解决办法:
方法1> Window -> Preferences-> Maven -> Lifecycle Mapping
配制如下:
配制完成后,重启eclipse,这些错误就会消失。
方法2> 可以在pom.xml的错误上右键,直接操作,原理还是写到了lifecycle-mapping-metadata文件。
最后导入成功:
3、运行hive-cli项目的CliDriver类
hive-cli项目是hive命令的入口,在运行CliDriver类的过程中会遇到各种各样的问题,需要我们提前配制一些东西,来避免这些问题:
3.1 配制HIVE_CONF_DIR、HADOOP_CONF_DIR
Window->Preferences->Java->BuildPath->ClassPath Variables
配制HIVE_CONF_DIR、HADOOP_CONF_DIR这两个参数分别指向hive配制文件和hadoop配制文件
3.2 配制hive-cli项目
配制mysql驱动包,并且把之前配制好的HIVE_CONF_DIR、HADOOP_CONF_DIR 这两个参数引用到该项目中
3.3 运行CliDriver类
截图说明一切,是不是很激动?
(完)