I am learning Titan database. I have run it successfully in local-mode. Now, I am trying to use Titan database in "Remote Server Mode" introduced in Titan-documentation. My Titan version is Titan-1.0.0-hadoop1.
I have clusters in my LAN including cloud12
and cloud13
. I installed hadoop-1.2.1 on it, the master is cloud12
and the slave is cloud13
.
I want to test the performance about create a graph, so I design to start my Hbase-0.98.20 in pseudo-distributed-mode on machine cloud12
with independent zookeeper-3.4.6 and elasticsearch on cloud12
.(I modified hbase-env.sh
, and use default port 2181
in zoo.cfg
)
Hadoop and HBase are seems like working regularly, I checked two servers by Jps and I also checked HBase through HBase shell.
Here are my configuration of hbase-site.xml
:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://cloud12:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/Titan/hbase/zookeeperDir</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/Titan/hbase/tmpDir</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase-unsecure</value>
</property>
<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>600</value>
</property>
</configuration>
Although when I ran my program in Eclipse on the other machine in LAN which named cloud6
(I installed Titan-1.0.0 on this machine), a confused error information printed in my output logs.
Here is the error constantly repeated in my output
789 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=192.168.12.148:2181 sessionTimeout=90000 watcher=hconnection-0x12d3a4e9, quorum=192.168.12.148:2181, baseZNode=/hbase
870 [main] INFO org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Process identifier=hconnection-0x12d3a4e9 connecting to ZooKeeper ensemble=192.168.12.148:2181
878 [main-SendThread(192.168.12.148:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server 192.168.12.148/192.168.12.148:2181. Will not attempt to authenticate using SASL (unknown error)
1030 [main-SendThread(192.168.12.148:2181)] INFO org.apache.zookeeper.ClientCnxn - Socket connection established to 192.168.12.148/192.168.12.148:2181, initiating session
1049 [main-SendThread(192.168.12.148:2181)] INFO org.apache.zookeeper.ClientCnxn - Session establishment complete on server 192.168.12.148/192.168.12.148:2181, sessionid = 0x15654717951001b, negotiated timeout = 40000
1054 [main] INFO org.apache.hadoop.hbase.client.ZooKeeperRegistry - ClusterId read in ZooKeeper is null
ClusterId read in ZooKeeper is null? I really confused about it. I tried to solve problem and I found my error are similar to many others, but I can't get clear answer from Google or other websites. Is there an error in my design of architecture? or configuration error?
I can ensure that my hosts and the time of cluster are all correct. Here is a part of my program to connect Hbase on cloud12
from cloud6
, is anything wrong or lackness in my code ?
public static final String INDEXNAME = "search";
...
BaseConfiguration conf=new BaseConfiguration();
conf.setProperty("storage.backend", "hbase");
conf.setProperty("storage.hostname", "192.168.12.148");//ip of cloud12
conf.setProperty("storage.tablename", "graph1");
conf.setProperty("index." + INDEXNAME + ".backend", "elasticsearch");
conf.setProperty("index." + INDEXNAME + ".hostname", "192.168.12.148");
conf.setProperty("index." + INDEXNAME + ".elasticsearch.local-mode", false);
conf.setProperty("index." + INDEXNAME + ".elasticsearch.client-only", true);
INFO
level message. I don't think you mentioned it, but are you able to connect tograph1
with your code despite theINFO
message? – Jason Plurad