现在的位置: 首页 > 综合 > 正文

虚拟机里在ubuntu linux上搭建Eclipse的HBase 开发环境

2013年03月31日 ⁄ 综合 ⁄ 共 2774字 ⁄ 字号 评论关闭

转自: http://blog.csdn.net/linhx/article/details/6965154

虚拟机里在ubuntu
linux上搭建Eclipse的HBase 开发环境

要求: Hadoop/HBase集群运行在远程的数据中心; 开发环境搭建在本地的虚机的ubuntu 系统里

1.   虚拟机,比如VMware,virtual PC or ...., 里建立ubuntu linux

2.  下载Eclipse JEE Version, Helios是个不错的考虑, 这里强烈建议用JEE version,实际开发后你就会发现省事不少;

3.   Hadoop开发环境配置

4.   HBase环境配置

4.1  新建project

4.2  将以下 hbase, hadoop, log4j, commons-logging,commons-lang, and ZooKeeper jars 包放入classpath。 一般是在project中新建一个lib文件,与src文件平级, 将以上文件拷贝进去,再添加Java Build Path。

比如: 

hadoop-0.20.205-core.jar

log4j-1.2.16.jar

commons-logging-1.1.1.jar

hbase-0.90.4.jar

hbase-0.90.4-tests.jar

zookeeper-3.2.2.jar

commons-lang-2.5.jar

4.3 在project中新建一个conf文件,与src文件平级,用于存放hbase的conf文件夹内容,然后通过add class folder添加Java Build Path。

当然,另外一种选择是将4.2的lib和4.3的conf同时放进reference library里, 然后将此reference library add进入build path, 这样整体看起来干净整洁。 方法是先建立在preference里建立user library,然后通过工程->properties-java build path->libraries-> add library 导入;

看图如下:

 

第一张图为了说明问题, 重复了两种方法, 根据方框的宽度区分;

第二张图来自一战友的文章: http://www.sujee.net/tech/articles/hbase-map-reduce-freq-counter/, 哥们把conf都放入library里了。 好坏由你点评了。

另外这里顺便说一下, Order and Export 这里的顺序是很重要的, 但往往被忽略。 Eclipse 在类名相同的类进行导入提示时,就是根据这个顺序,所以当导入的库比较多时,花一分钟思考一下库的顺序是必要的。  尤其是像我一样,很喜欢用Ctrl+Shift+O的同志。

order就是使用s同名class的顺序;export就是把用到的一些的lib和project同时发布. 

Say you have junit.jar in the build path of project A. Project B depends on project A.

Now you write a junit test in project B. If project A exports junit.jar, project B can use it at compile time - no more action necessary. If A doesn't export it, B doesn't know about it - you will have to explicitely
put it into its build path, too.

4.4 建立HBase操作类, 运行成功的话,可以在HBase上建立相关表。控制台有输出信息供分析。

  1. package com.ibm.bi.hbase;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import org.apache.hadoop.conf.Configuration;  
  6. import org.apache.hadoop.hbase.HBaseConfiguration;  
  7. import org.apache.hadoop.hbase.HColumnDescriptor;  
  8. import org.apache.hadoop.hbase.HTableDescriptor;  
  9. import org.apache.hadoop.hbase.client.Get;  
  10. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  11. import org.apache.hadoop.hbase.client.HTable;  
  12. import org.apache.hadoop.hbase.client.Put;  
  13. import org.apache.hadoop.hbase.client.Result;  
  14. import org.apache.hadoop.hbase.client.ResultScanner;  
  15. import org.apache.hadoop.hbase.client.Scan;  
  16. import org.apache.hadoop.hbase.util.Bytes;  
  17.   
  18.   
  19. public class TableOperation {  
  20.   
  21.     /** 
  22.      * @param args 
  23.      */  
  24.     public static void main(String[] args) throws Exception {        
  25.           
  26.      Configuration config = HBaseConfiguration.create();  
  27.        
  28.      // Create table  
  29.      HBaseAdmin admin = new HBaseAdmin(config);  
  30.      HTableDescriptor htd = new HTableDescriptor("test");  
  31.      HColumnDescriptor hcd = new HColumnDescriptor("data");  
  32.      htd.addFamily(hcd);  
  33.      admin.createTable(htd);  
  34.      byte [] tablename = htd.getName();  
  35.      HTableDescriptor [] tables = admin.listTables();  
  36.      if (tables.length != 1 && Bytes.equals(tablename, tables[
【上篇】
【下篇】

抱歉!评论已关闭.