linux系统利用eclipse单步调试hive


1.       用svn 下载hive源码

           将源码存放在hive_trunk目录 下。

          # svn co http://svn.apache.org/repos/asf/hive/trunk/ hive_trunk1

          

2.    生成 eclipse项目

        在hive_trunk1目录下,执行ant eclipse-files命令 

       #ant eclipse-files

       生成可导入 的.project项目文件    

3     加载hive_trunk1项目。

        打开eclipse开发环境,file->import..打开“导入”对话框,选择root directory为hive_trunk1目录  。

      linux系统利用eclipse单步调试hive_第1张图片

      在Project  Explorer 视窗可以看到 已被成功导入。

linux系统利用eclipse单步调试hive_第2张图片

   继续在hive_trunk目录下执行 ant package命令

    #ant package

   耗时很多,我用了22分钟。

    会发现新生成/opt/hive_trunk1/build/dist/lib目录 下会有很多 jar包。

  

   hive_trunk项目,菜单 run-> debug configurations 对话框中,双击Java Application,做下图所示的定义。

 linux系统利用eclipse单步调试hive_第3张图片


单击进入classpath选项卡,对于classpath选项卡,需要

击“ Add External JARs”按钮,将“hadoop-0.20.0-core.jar" ,"hive_trunk1/build/dist/lib”下的所有jar包添加到classpath中。

接下来点击“Advanced”按钮,将Hive的hive_trunk1/build/dist/conf目录添加进来

linux系统利用eclipse单步调试hive_第4张图片


        在工程上右键-->properties

        选择builders,去掉java builder前面的√

    点击new按钮,双击【Ant Builder】选择Ant的编译模式

        Name的地方写上hive_ant_Builder

        在buildfile这里点击【browser file system】,浏览设置为/hive_trunk1/build.xml

linux系统利用eclipse单步调试hive_第5张图片

打开 Targets选项卡,点击Manual Build的Set Targets按钮 做下图配置。

linux系统利用eclipse单步调试hive_第6张图片



        点击apply进行应用配置

        点击ok按钮将hive_ant_builder进行up上移

       linux系统利用eclipse单步调试hive_第7张图片
         


在hive_trunk1/build/dist/conf目录添加

hive-site.xml .

hive-site.xml是将 hive-default.xml.template复制过来后并重命名的副本


对hive-site.xml做些修改,下面是配置hive 元数据库的三种方式,默认的嵌入式derby数据库、网络模式derby数据库和Mysql数据库。

<configuration>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <!--<value>jdbc:derby:;databaseName=metastore_db;create=true</value>-->
 <!--<value>jdbc:derby://localhost:1527/db_hive;create=true</value> -->
 <value>jdbc:mysql://192.168.251.19:3306/mydb_hive?useUnicode=true&
 characterEncoding=UTF-8&createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <!-- <value>org.apache.derby.jdbc.EmbeddedDriver</value> -->
   <!-- <value>org.apache.derby.jdbc.ClientDriver</value> -->
  <value>com.mysql.jdbc.Driver</value> 
  <description>Driver class name for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>mysql</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>mysql</value>
  <description>password to use against metastore database</description>
</property>
</configuration>

我对三种连接方式都做了测试,这里选择Mysql数据库。

使用Mysql数据库还需要将Mysql的JDBC导入到classpath中。

这里使用mysql-connector-java-5.1.24-bin.jar 。

对于网格模式的derby需要用到derby的l的JDBC 连接包derbyclient.jar,

derby的使用可以参考http://blog.csdn.net/duguduchong/article/details/8689822

 
4 .调试hive

   单击菜单【run】下面的【debug】就可以单步调试hive了。 

  linux系统利用eclipse单步调试hive_第8张图片

在此截图之前我创建了3个hive表,在截图中console 视窗里我通过  show tables命令即可查看到,以证明上述配置过程的正确性。

你可能感兴趣的:(eclipse,linux,hive,调试)