【发布时间】:2026-01-15 19:00:01
【问题描述】:
我有一个单节点 hadoop,并且在我的 ubuntu 12.04 上也安装了 hbase。现在我想在 hbase 上安装 Titan。我已经设置了 hadoop-1.0.3 和 hbase-0.94.18 和 titan/hbase-0.4.2
我添加了一个用户 mnit。我的 /usr/local/ 文件夹包含 hadoop2、hbase2、titan2。首先我使用命令 bin/start-all.sh 启动我的 hadoop,然后我使用命令 bin/start-hbase 启动 hbase .sh 。在我做 jps 之后,我发现了以下内容:
mnit@aman:/usr/local$ jps
9921 DataNode
11386 HRegionServer
11041 HQuorumPeer
11537 Jps
11115 HMaster
10153 SecondaryNameNode
10252 JobTracker
9691 NameNode
10483 TaskTracker
现在我使用命令 bin/gremlin.sh 在 titan2 中启动 gremlin.sh。 我应用了以下命令
mnit@aman:/usr/local/titan2$ bin/gremlin.sh
gremlin> conf = new BaseConfiguration();
==>org.apache.commons.configuration.BaseConfiguration@19288c2
gremlin> conf.setProperty("storage.backend","hbase");
==>null
gremlin> conf.setProperty("storage.hostname","127.0.0.1");
==>null
gremlin> g = TitanFactory.open(conf);
WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
WARN org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
WARN org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
当我搜索这个问题时,我发现有一个名为 pom.xml 的文件,但我下载的 Titan 不包含 pom.xml。请告诉我这是否是由于 pom.xml 造成的问题。或者我做错了什么或有其他问题。
提前致谢
zk 在我的系统中由 hbase 管理。我在 bin/hbase-env.sh 中添加了以下行
export HBASE_MANAGES_ZK=true
我的 hbase-site.xml 的内容如下:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:54310/user/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.datadir</name>
<value>/app/hadoop/tmp/zookeeper</value>
</property>
</configuration>
【问题讨论】:
-
这个错误提示 Titan 由于某种原因无法连接到 Zookeeper。 HBase 是在管理 ZK,还是在运行独立于 HBase 的 ZK 集成(即
HBASE_MANAGES_ZK=false)?如果使用 HBase 托管模式,hbase-site.xml 的hbase.zookeeper.property.clientPort是什么? ZK 配置上的任何其他信息也可能有用。 -
@Dan LaRocque:我已经编辑了我的问题。并在那里添加了您所需的信息。谢谢。