上一篇主要写了hive2.1.1源码编译并编译成eclipse项目,这一篇主要写将hive2.1.1源码导入eclipse以及运行hive命令的入口类CliDriver.java。在导入及运行的过程会遇到各种各样的问题,本文写了自己遇到的问题及解决方案。把项目跑起来非常重要,这些都是我们后面分析调试hive编译模块源码的基础。
加油!
![62631578ac863507350226d4e1dfe325.png](https://i-blog.csdnimg.cn/blog_migrate/f10401c616d7d256dba6275bd896a758.jpeg)
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/
![62579ed7261fe3352cc69682b0677184.png](https://i-blog.csdnimg.cn/blog_migrate/171cd929fcfa3942ec7e07b0067b44d8.jpeg)
2、把编译好的hive源码项目导入eclipse
我们编译好的源码路径/usr/local/workspace/apache-hive-2.1.1-src
打开eclipse,File-->Import 导入maven项目
![cf05aca8f822f1e3beac3da8936d4a0d.png](https://i-blog.csdnimg.cn/blog_migrate/0e3b2ba7bbddb42edfde68dcc81445dd.jpeg)
导入后:
![c603e1cf4c766a7c4e0839d81bc6b78c.png](https://i-blog.csdnimg.cn/blog_migrate/ccd325c21ec4ac8dcceb8209164c9d10.jpeg)
发现有报错,这些报错主要是因为maven 的pom.xml文件报错
maven pom文件报错如下:
![00d511874f71ac59b6abaee2f80e495d.png](https://i-blog.csdnimg.cn/blog_migrate/1189549ccb1cce2c51f3962bd6dfee39.jpeg)
解决办法:
方法1> Window -> Preferences-> Maven -> Lifecycle Mapping
配制如下:
![c875e0325398c41851e2281074e2ed7c.png](https://i-blog.csdnimg.cn/blog_migrate/6fdb42583da5663a7100ce205426110c.jpeg)
配制完成后,重启eclipse,这些错误就会消失。
方法2> 可以在pom.xml的错误上右键,直接操作,原理还是写到了lifecycle-mapping-metadata文件。
最后导入成功:
![8e6d847eccc49125ac6399793cd115ab.png](https://i-blog.csdnimg.cn/blog_migrate/bcb111046241fd22c05676c7a17ab783.jpeg)
3、运行hive-cli项目的CliDriver类
hive-cli项目是hive命令的入口,在运行CliDriver类的过程中会遇到各种各样的问题,需要我们提前配制一些东西,来避免这些问题:
3.1 配制HIVE_CONF_DIR、HADOOP_CONF_DIR
Window->Preferences->Java->BuildPath->ClassPath Variables
![32f1f0d35a885c45f1774cf388141d97.png](https://i-blog.csdnimg.cn/blog_migrate/c882eeb8d9f424dae2aa36e79627b49a.jpeg)
配制HIVE_CONF_DIR、HADOOP_CONF_DIR这两个参数分别指向hive配制文件和hadoop配制文件
3.2 配制hive-cli项目
配制mysql驱动包,并且把之前配制好的HIVE_CONF_DIR、HADOOP_CONF_DIR 这两个参数引用到该项目中
![44da8115e8fc13bac8399d2948ef72d7.png](https://i-blog.csdnimg.cn/blog_migrate/7c29ce08766afc3c2b59b3e99bf3989f.jpeg)
3.3 运行CliDriver类
![619ec210b7fd1e9783491951955bbf66.png](https://i-blog.csdnimg.cn/blog_migrate/8046492d7daab34d4a16fd1e5cdae725.jpeg)
截图说明一切,是不是很激动?
福利:
Hive源码系列课程第一部分 【Hive源码环境搭建】已经录制完成了:
网易云课堂地址:Hive源码环境搭建
前50名领完优惠券后只用1.9 元就能学习,最最重要的是,能获取整套已经搭建好的环境以及入群学习,有需要的同学快来加入吧!
![63aedda17ce9608f2f66db1afa500ade.png](https://i-blog.csdnimg.cn/blog_migrate/507828fb1f67bb2a4286c38f9978afca.jpeg)