I have my HBase standalone server on centos virtual machine, and my client is on windows desktop. Can I connect to the HBase standalone server remotely without installing HBase on windows ? If yes , Here are the following files
/etc/hosts file
172.16.108.1 CentOS60-64 # Added by NetworkManager 127.0.0.1 localhost.localdomain localhost 172.29.36.32 localhost.localdomain localhost
172.29.36.32 534CentOS64-0
hbase-site.xml file
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///root/Desktop/HBase/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/Desktop/HBase/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>62181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>172.29.36.32</value>
</property>
</configuration>
/conf/regrionservers file
localhost 172.29.36.32
Code Snippet to connect to HBase server
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "172.29.36.32");
config.set("hbase.zookeeper.property.clientPort", "62181");
// Creating Admin
HBaseAdmin admin = new HBaseAdmin(config);
// Creating Table Descriptor
HTableDescriptor describe =admin.getTableDescriptor(org.apache.hadoop.hbase.TableName.valueOf("emp"));
// Fetching all column families
Set<byte[]> ColumnFamily = describe.getFamiliesKeys();
// Listing Out the all column families
System.out.println(ColumnFamily.size());
Iterator<byte[]> it=ColumnFamily.iterator();
while(it.hasNext())
{
System.out.println(Bytes.toString(it.next()));
}
--- When I tried to run above code, Its taking too long time to run and raising error as .... unknown host: localhost.localdomain
--- I was able to connect to following url :- http://172.29.36.32:60010/master-status PS:- I will be thankful if someone can help me out