如何在单节点hadoop中通过hbase设置titan
我有一个单节点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.sh启动hbase。之后,当我做jps时,我发现:如何在单节点hadoop中通过hbase设置titan,hadoop,hbase,titan,Hadoop,Hbase,Titan,我有一个单节点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.sh启动hbase。之后,当我做jps时,我发现: mnit@
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
my 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>
hbase.rootdir
hdfs://localhost:54310/user/hbase
dfs.replication
1.
hbase.cluster.distributed
真的
hbase.zookeeper.property.clientPort
2222
hbase.zookeeper.quorum
本地服务器
hbase.zookeeper.property.datadir
/app/hadoop/tmp/zookeeper
您的Titan和HBase配置似乎不一致。您的hbase-site.xml将默认ZK端口(2181)覆盖为2222,但您似乎还没有通过在Titan配置文件中设置storage.port来告诉Titan使用此非默认ZK端口。自然,他们不能在那种状态下互相交谈。这与pom.xml没有任何关系
顺便说一句,请不要同时交叉张贴到SO和aureliusgraphs谷歌集团。它们都是很好的场所,目的略有不同,但您似乎只是在这个问题和之间粘贴了副本。错误表明Titan由于某种原因无法连接到Zookeeper。HBase是在管理ZK,还是在运行一个与HBase分开的ZK集成(即HBase\u MANAGES\u ZK=false)?如果使用hbase管理模式,hbase site.xml的
hbase.zookeeper.property.clientPort
是什么?关于ZK配置的任何其他信息也可能有用。@Dan LaRocque:我已经编辑了我的问题。并在那里添加了您所需的信息。谢谢,谢谢,先生。我将端口号从2222更改为2181,并在hdfs-site.xml中添加了hbase.zookeeper.property.maxClientCnxn属性,它可以正常工作。