本站提供最佳commonslang源码服务,欢迎转载和分享。

【源码云源码】【免费ios客服源码】【丫丫云签源码】eclipse hbase源码

2024-12-24 03:25:41 来源:买车源码 分类:百科

1.如何在windows平台上用Eclipse调试运行HBase
2.eclipse中Java程序实现对HBase操作报错:java.io.IOException: Attempt to start meta tracker failed.

eclipse hbase源码

如何在windows平台上用Eclipse调试运行HBase

       ã€€ã€€æ“ä½œæ­¥éª¤å¦‚下:

       ã€€ã€€1.下载和安装cygwin;

       ã€€ã€€2.下载新的Zookeeper包和HBase包,这里ZooKeeper版本为3.3.1,HBase版本为0..4

       ã€€ã€€3.把利用它们的源码包在Eclipse下生成2个独立的Project,源码注意:zookeeper工程,要把那个conf目录加入到工程的src中去

       ã€€ã€€4.修改zookeeper工程下的conf目录中的zoo.cfg文件,例子如下:

       ã€€ã€€# The number of milliseconds of each tick

       ã€€ã€€tickTime=

       ã€€ã€€# the directory where the snapshot is stored.

       ã€€ã€€dataDir=D:/zookeeper-3.3.1/data

       ã€€ã€€# the port at which the clients will connect

       ã€€ã€€clientPort=

       ã€€ã€€å°±æ˜¯ç»™zookeeper指定文件存放的地方以及端口

       ã€€ã€€5.启动zookeeper

       ã€€ã€€åœ¨Eclipse中新建一个Run config,main class为:org.apache.zookeeper.server.quorum.QuorumPeerMain

       ã€€ã€€å¯åŠ¨çš„程序参数为:D:/workspace/zookeeper3.3.1/conf/zoo.cfg

       ã€€ã€€å¯åŠ¨çš„虚拟机参数为:

       ã€€ã€€-Dzookeeper.log.dir=D:/workspace/zookeeper3.3.1/log

       ã€€ã€€-Dzookeeper.root.logger=INFO,CONSOLE

       ã€€ã€€å¦‚图所示:

       ã€€ã€€å¥½äº†ï¼Œè¿™æ ·å°±å¯ä»¥åœ¨Eclipse中把ZooKeeper启动起来了。

       ã€€ã€€6.修改HBase project中的一个类

       ã€€ã€€org.apache.hadoop.hbase.LocalHBaseCluster

       ã€€ã€€æ‰¾åˆ°å®ƒçš„main函数,把main函数改成下

       ã€€ã€€public static void main(String[] args) throws IOException {

       ã€€ã€€HBaseConfiguration conf = new HBaseConfiguration();

       ã€€ã€€conf.set("hbase.zookeeper.quorum", "localhost");

       ã€€ã€€conf.set("hbase.zookeeper.property.clientPort", "");

       ã€€ã€€LocalHBaseCluster cluster = new LocalHBaseCluster(conf,1);

       ã€€ã€€cluster.startup();

       ã€€ã€€}  

       ã€€ã€€æ³¨æ„è¡Œï¼šLocalHBaseCluster cluster = new LocalHBaseCluster(conf,1); 构造函数中的1是代表Region server的个数,在这里只想起一个region server.

       ã€€ã€€7.修改HBase的配置文件

       ã€€ã€€åœ¨HBase project下的src中可以看到hbase-default.xml和hbase-site.xml两个文件,改哪个都可以。直接在hbase-default.xml改的,重要的是下面3个属性hbase.rootdir,hbase.cluster.distributed,hbase.tmp.dir,

       ã€€ã€€æŠŠhbase.rootdir,hbase.tmp.dir都指向了本地的目录,当然可以根据自己的需要调整,当然格式一定一样写。

       ã€€ã€€<property>

       ã€€ã€€<name>hbase.rootdir</name>

       ã€€ã€€<value>file:///D:/hbase-0..3/data </value>

       ã€€ã€€<description>The directory shared by region servers.

       ã€€ã€€Should be fully-qualified to include the filesystem to use.

       ã€€ã€€E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR

       ã€€ã€€</description>

       ã€€ã€€</property>

       ã€€ã€€<property>

       ã€€ã€€<name>hbase.cluster.distributed</name>

       ã€€ã€€<value>false </value>

       ã€€ã€€<description>The mode the cluster will be in. Possible values are

       ã€€ã€€false: standalone and pseudo-distributed setups with managed Zookeeper

       ã€€ã€€true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)

       ã€€ã€€</description>

       ã€€ã€€</property>

       ã€€ã€€<property>

       ã€€ã€€<name>hbase.tmp.dir</name>

       ã€€ã€€<value>D:/hbase-0..3/tmp </value>

       ã€€ã€€<description>Temporary directory on the local filesystem.</description>

       ã€€ã€€</property>

       ã€€ã€€<property>  

       ã€€ã€€8.启动HBase,直接run org.apache.hadoop.hbase.LocalHBaseCluster就可以,run config不需要没有什么别的配置。当然就也可以debug了。

eclipse中Java程序实现对HBase操作报错:java.io.IOException: Attempt to start meta tracker failed.

       我hadoop和Hbase都是采用伪分布式的

       代码如下:

       public class HbaseTest {

       private static Configuration conf;

       static{

       conf = HBaseConfiguration.create();

       conf.set("hbase.rootdir", "hdfs://...2:/hbase");

       //使用eclipse时必须添加这个,否则无法定位

       conf.set("hbase.zookeeper.quorum",源码源码云源码 "...2");

       conf.set("hbase.zookeeper.property.clientPort", "");

       }

       public static void createTable(String tableName){

       System.out.println("start create table ......");

       try {

       HBaseAdmin hbAdmin = new HBaseAdmin(conf);

       if(hbAdmin.tableExists(tableName)){

       hbAdmin.disableTable(tableName);

       hbAdmin.deleteTable(tableName);

       System.out.println(tableName + " is exist,detele ....");

       }

       // HTableDescriptor htd = new HTableDescriptor(tableName);

       HTableDescriptor htd = new HTableDescriptor(tableName);

       htd.addFamily(new HColumnDescriptor("cf1"));

       htd.addFamily(new HColumnDescriptor("cf2"));

       htd.addFamily(new HColumnDescriptor("cf3"));

       htd.addFamily(new HColumnDescriptor("cf4"));

       hbAdmin.createTable(htd);

       } catch (MasterNotRunningException e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

       } catch (ZooKeeperConnectionException e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

       } catch (IOException e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

       }

       System.out.println("end create table ......");

       }

       public static void main(String[] args) {

       createTable("testTable");

       }

       更多0

【本文网址:http://04.net.cn/news/39b77399187.html 欢迎转载】

copyright © 2016 powered by 皮皮网   sitemap