第一步:創建一個java project命名為wujiadong_hbase
第二步:在該工程下創建一個folder命名為lib(儲存依賴的jar包)
第三步:將集群中的hbase安裝目錄下載一份到win下,將hbase下lib目錄(I:\data science\hbase\hbase-0.9\lib)中所有的jar包復制到剛才創建lib文件夾下
復制進去之后,選中lib文件夾下的所有jar包,右鍵Build Path——Add to build Path
第三步:新建一個java類命名為HBaseDeom,就可以開始寫java代碼了
一個創建hbase_test表的代碼示例
package wujiadong_hbase;
import java.io.IOException;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.conf.Configuration;
public class HBaseDeom {
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
// Instantiating configuration class
Configuration con = HBaseConfiguration.create();
con.set("hbase.rootdir","hdfs://spark1:9000/hbase" );
con.set("hbase.zookeeper.quorum", "192.168.220.144,192.168.220.145,192.168.220.146");
// Instantiating HbaseAdmin class
HBaseAdmin admin = new HBaseAdmin(con);
// Instantiating table descriptor class
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("hbase_test"));
// Adding column families to table descriptor
tableDescriptor.addFamily(new HColumnDescriptor("personal"));
tableDescriptor.addFamily(new HColumnDescriptor("professional"));
// Execute the table through admin
admin.createTable(tableDescriptor);
System.out.println(" Table created ");
}
}
第四步:開啟zookeeper,hadoop,hbase集群,確保都正常
查看hbase是否啟動成功,進入hbase shell,輸入status
hbase(main):013:0> status
2 servers, 0 dead, 13.5000 average load
注釋:0 dead說明habse啟動成功
第五步:運行java代碼
運行結果如下
運行報錯
org.apache.hadoop.hbase.MasterNotRunningException: Can't get connection to ZooKeeper: KeeperErrorCode = OperationTimeout
報錯原因
windows下開發HBase應用程序,HBase部署在linux環境中,在運行調試時出現無法找到主機
解決方法
在C:\WINDOWS\system32\drivers\etc\hosts文件中添加如下映射信息
192.168.220.144 spark1
192.168.220.145 spark2
192.168.220.146 spark3