我正在学习Titan数据库。我已经在本地模式下成功运行了它。现在,我尝试在 Titan 文档中介绍的“远程服务器模式”下使用 Titan 数据库。我的 Titan 版本是 Titan-1.0.0-hadoop1。
我的 LAN 中有集群,包括cloud12
and cloud13
。我在上面安装了hadoop-1.2.1,master是cloud12
奴隶是cloud13
.
我想测试创建图的性能,所以我设计在机器上以伪分布式模式启动我的 Hbase-0.98.20cloud12
具有独立的zookeeper-3.4.6和elasticsearchcloud12
.(我修改了hbase-env.sh
,并使用默认端口2181
in zoo.cfg
)
Hadoop和HBase似乎正常工作,我通过Jps检查了两台服务器,我还通过HBase shell检查了HBase。
这是我的配置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>
虽然当我在 LAN 中的另一台机器上的 Eclipse 中运行我的程序时,名为cloud6
(我在这台机器上安装了Titan-1.0.0),我的输出日志中打印出混乱的错误信息。
这是我的输出中不断重复的错误
789 [主要] INFO org.apache.zookeeper.ZooKeeper - 启动客户端连接,connectString = 192.168.12.148:2181 sessionTimeout = 90000 watcher = hconnection-0x12d3a4e9,quorum = 192.168.12.148:2181,baseZNode = / hbase
870 [主要] 信息 org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - 连接到 ZooKeeper 集合的进程标识符=hconnection-0x12d3a4e9=192.168.12.148:2181
878 [main-SendThread(192.168.12.148:2181)] 信息 org.apache.zookeeper.ClientCnxn - 打开与服务器 192.168.12.148/192.168.12.148:2181 的套接字连接。不会尝试使用 SASL 进行身份验证(未知错误)
1030 [main-SendThread(192.168.12.148:2181)] 信息 org.apache.zookeeper.ClientCnxn - 与 192.168.12.148/192.168.12.148:2181 建立套接字连接,正在启动会话
1049 [main-SendThread(192.168.12.148:2181)] 信息 org.apache.zookeeper.ClientCnxn - 服务器 192.168.12.148/192.168.12.148:2181 上的会话建立完成,sessionid = 0x15654717951001b,协商超时 = 40 000
1054 [主要] 信息 org.apache.hadoop.hbase.client.ZooKeeperRegistry - ZooKeeper 中读取的 ClusterId 为空
ZooKeeper中读取的ClusterId为null?我真的很困惑。我尝试解决问题,发现我的错误与许多其他错误类似,但我无法从谷歌或其他网站得到明确的答案。我的架构设计有错误吗?或者配置错误?
我可以确保我的主机和集群时间都是正确的。这是我连接 Hbase 的程序的一部分cloud12
from cloud6
,我的代码有什么错误或缺失吗?
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);