Hadoop技术论坛一见2010.1.8www.hadoopor.com/hadoopor@foxmail.com
1.前言
本教程假设你已经掌握了Hadoop在Cygwin上的安装,以及Hive在WindowsEclipse上的编译技能,否则得先掌握安装和编译方法,才继续往下浏览。
2.参考资料
《在Windows上安装Hadoop教程》《Hadoop源代码eclipse编译教程》
3.安装Hadoop和编译Hive
e假设已经将Hadoop安装在E:\\hadoop\\run目录,Hive源代码存放在E:\\hadoop\\src\\hivE:\\hadoop\\src\\hive
目录下,并且Hive已经编译通过。Hadoop安装请参考《在Windows上安装Hadoop教程》一文,Hive的编译请参考《Hadoop源代码eclipse编译教程》一文。
编译Hive成功后,还不能立即调试Hive,需要先将编译后生成的jar安装好。
4.安装Hive
Hive可以和Hadoop分别安装在不同目录,这里我们将Hive安装到E:\\hadoop\\run\\hive目录下,所以我们需要在E:\\hadoop\\run下创建好hive子目录,原来将E:\\hadoop\\src\\hive目录下的bin、conf和lib三个子目录复制到E:\\hadoop\\run\\hive目录下(如果包含有SVN目录,这些目录可不复制),结果如下图所示:
完成上述操作后,还需要将E:\\hadoop\\src\\hive\\build目录相关的jar文件都复制到
在Windowseclipse上单步调试Hive教程
E:\\hadoop\\run\\hive\\lib目录下,需要复制的jar文件(README和LICENSE文件不用复制)如下图所示:
Hive的配置文件E:\\hadoop\\run\\hive\\conf\\hive-default.xml不需要修改。打开eclipse,选中hive项目(要求保证Hive已经编译通过,若不清楚如何编译,请参考《Hadoop源代码eclipse编译教程》一文),如下图所示:
2
在Windowseclipse上单步调试Hive教程
bugConfigurations”,进入配置界面,如下图所示:接下来,需要配置Debug,点击“DeDeb
在“DebugConfigurations”界面,选中“JavaApplication”,如下图所示:
3
在Windowseclipse上单步调试Hive教程
点击上图所示的“Newlaunchconfiguration”按钮,界面变成如下图所示:
iver”,点击上图中的“Search”按钮,在弹出的“SelectMainType”对话框中,选中“CliDrCliDriver
CliDriver是Hive的入口类,实现了main函数,如下图所示:
4
在Windowseclipse上单步调试Hive教程
然后点击上图所示的“OK”按钮,返回到“DebugConfigurations”界面,将“New_configuration”改成“CliDriver”,然后点击“Apply”按钮,如下图所示:
切换到Classpath界面,如下图所示:
5
在Windowseclipse上单步调试Hive教程
点击“AddExternalJARs”按钮,将“E:\\hadoop\\run\\hadoop-0.20.0-core.jar”、“E:\\hadoop\\run\\lib”和“E:\\hadoop\\run\\hive\\lib”两个目录下所有的jar都添加进来,如下图所示:
6
在Windowseclipse上单步调试Hive教程
接下来,还需要将Hive的conf目录添加进来,点击“Advanced”按钮,弹出如下图所示对话框:
在上图所示对话框中,选择“AddExternalFolder”,将“E:\\hadoop\\run\\hive\\conf”添加进来,然后点击“Apply”按钮,结果如下图所示:
7
在Windowseclipse上单步调试Hive教程
当点击上图所示的“Debug”按钮后,将进入如下图所示的界面:
由于存在Bug,在Cygwin环境中,将无法输入SQL语句,因此在调试之前,还必须解决或绕开这个Bug,下面开始解决这个问题。
在eclipse中打开CliDriver.java文件,找到main函数中的如下一行代码:
while((line=reader.readLine(curPrompt+\">\"))!=null){将其替换成如下一段代码:
8
在Windowseclipse上单步调试Hive教程
Scannersc=newScanner(System.in);while(true){
System.out.print(curPrompt+\">\");line=sc.nextLine();if(null==line)
break;
保存修改,再编译Hive,当编译成功后,将E:\\hadoop\\src\\hive\\build\\cli\\hive_cli.jar复制到E:\\hadoop\\run\\hive\\lib目录,并覆盖掉原来的hive_cli.jar。
到此,所有准备工作都完成了,可以开始一步步调试Hive了,eclipse主要调试快捷键:
F11:运行程序,进入调试F5:单步,并进入函数内F6:单步,但不进入函数内
F7:从当前函数内跳到上一级调用F8:一直执行到断点
Ctrl+Shift+B:添加或删除断点
有关eclipse更多的快捷键,请参考贴:http://bbs.hadoopor.com/thread-363-1-1.html。如果你的eclipse没有进入Debug界面,请按照下图所示操作即可:
Debug界面如下图所示:
9
在Windowseclipse上单步调试Hive教程
应当保证CliDriver.java窗口是Debug界面的活动窗口,并在CliDriver.java窗口按F11快捷键进入调试状态。
5.编后语
调试Hive对熟悉eclipse开发环境的java熟手来说,应当是一件非常容易的事,本文主要供从C/C++等非java语言转过来的Hadoop开发者。欢迎大家加入Hadoop技术论坛(http://hadoop.hadoopor.com)多多交流问题和分享经验。
10
因篇幅问题不能全部显示,请点此查看更多更全内容