2013-02-26 92 views
0

我想從Java客戶端API中的HBase的連接。HBase的沒有啓動

這是我的代碼。在這裏我寫了一些代碼來獲取hbase中的連接。

我在運行此代碼時沒有收到任何錯誤。但我不能用這個創建任何表格。

Configuration hbaseConfiguration = HBaseConfiguration.create(); 
    try { 

     hbaseConfiguration.set("hbase.rootdir", 
       "file:///home/sample/hbase"); 
     hbaseConfiguration.set("hbase.zookeeper.property.dataDir", 
       "/home/sample/zookeeper"); 
     hbaseConfiguration.set("hbase.zookeeper.quorum", 
       "sample"); 
     Configuration newConfig = new Configuration(hbaseConfiguration); 
     HConnection connection = HConnectionManager 
       .getConnection(newConfig); 
     hBaseAdmin = new HBaseAdmin(connection); 
     hBaseAdmin.createTable(new HTableDescriptor("sample")); 
     if (!hBaseAdmin.isMasterRunning()) 
      throw new Exception("Hbase is not running"); 
     tableFactory = new HTableFactory(); 
    } catch (Exception e) { 
     throw new Exception("Hbase is not running"); 
    } 

任何人都可以幫我解決這個問題嗎?謝謝....

回答

0

更改下面的代碼

hbaseConfiguration.set("hbase.rootdir", 
      "file:///home/sample/hbase"); 
    hbaseConfiguration.set("hbase.zookeeper.property.dataDir", 
      "/home/sample/zookeeper"); 
    hbaseConfiguration.set("hbase.zookeeper.quorum", 
      "sample"); 

hbaseConfiguration.set("hbase.zookeeper.quorum", 
      "rs1.example.com"); 

注:rs1.example.com應與一個地址指向你的動物園管理員集羣所取代。您可以在您的conf/hbase-site.xml中找到該值。

+0

感謝您的評論...但我不能讓你..我應該在哪裏更改rs1.example.com。我已經改變了hbaseConfiguration.set(「hbase.zookeeper.quorum」,「rs1.example.com」); – 2013-02-26 09:56:58

+0

你有沒有設置一個正在運行的HBase實例? – ericson 2013-02-26 10:27:30

0

hbase.rootdir設置將被完全忽略。它只能在hbase-site.xml文件中設置。