Titan-1.0.0+Hbase-0.98.20使用java远程模式连接错误

2024-03-22

我正在学习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); 

由于您使用的是外部动物园管理员 http://hbase.apache.org/0.94/book.html#d1984e11609合奏:

  1. Add the hbase.zookeeper.quorum财产价值在hbase-site.xml。该值应该是以逗号分隔的 Zookeeper 节点列表。它默认为localhost.

  2. Add export HBASE_MANAGES_ZK=false to the hbase-env.sh。它默认为true.

  3. 确保zookeeper.znode.parent财产价值在hbase-site.xml与 Titan 配置中的值匹配storage.hbase.ext.zookeeper.znode.parent。它默认为/hbase。如果这些值不匹配,则Titan 与 HBase 的连接将挂起 https://groups.google.com/d/msg/aureliusgraphs/PJW64yyziqE/OxIHljVfBQAJ.

  4. 确保clientPort财产价值在zoo.cfg匹配hbase.zookeeper.property.clientPort值在hbase-site.xml并且也匹配storage.hbase.ext.hbase.zookeeper.property.clientPortTitan 配置中的值。它默认为2181。如果这些不匹配,您将在日志中看到连接异常。

  5. 确保 Zookeeper 节点正在侦听clientPort使用可访问的 IP 地址(不是localhost).

一旦您确认可以连接到 Titan 表,我认为INFO消息可以安全地忽略。您可以通过以下设置切换日志记录级别log4j.properties https://groups.google.com/d/msg/aureliusgraphs/WkAXMbg5vYU/tt53_mRHBQAJ:

log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop.hbase.client=WARN
log4j.logger.org.apache.hadoop.hbase.zookeeper=WARN

还有一个开放问题 https://github.com/thinkaurelius/titan/issues/1240与 Titan 进行对比,调查 Zookeeper 客户端连接发生如此频繁的原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Titan-1.0.0+Hbase-0.98.20使用java远程模式连接错误 的相关文章

随机推荐