private HbaseDao() throws Exception{
        config = HBaseConfiguration.create(); 
        
        String zookeeperUrl = PropLoader.getUrl();
        String[] znodes = zookeeperUrl.split(",");
        StringBuilder quorum = new StringBuilder();
        String zookeeperPort = "";
        for(int i=0;i<znodes.length;i++){
            if(i!=0){
                quorum.append(",");
            }
            quorum.append(znodes[i].split(":")[0]);
            zookeeperPort = znodes[i].split(":")[1];
        }
        
        config.set("hbase.zookeeper.quorum", quorum.toString());  
        config.set("hbase.zookeeper.property.clientPort", zookeeperPort);  
        config.set("hbase.cluster.distributed", "true");
        
        admin = new HBaseAdmin(config);
        
        //initial database
        List<HBaseTable> hbaseTables = HbaseLoader.getTables();
        for(HBaseTable table:hbaseTables){
            byte[] tableName = table.getTableName().getBytes();
            if(admin.isTableAvailable(tableName)){
                if(admin.isTableEnabled(tableName)){
                    admin.disableTable(tableName);
                }
                
                admin.deleteTable(tableName);
            }
            
            HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf(table.getTableName()));  
            
            for(String colFamily:table.getColumnFamily()){
                tableDescriptor.addFamily(new HColumnDescriptor(colFamily));
            }
              
            admin.createTable(tableDescriptor);
            logger.debug("create table : " + table.getTableName() + " [done]");
        }
        
    }