To stress what JD just said, the HBase book/Ref Guide (i.e., the online
book that is a part of HBase) is open source and the best source of the
material (especially the Troubleshooting chapter) is user experience.

Minor clarification:  "HBase the Definitive Guide" is a great book by
O'Reilly, but not open source.




On 2/14/12 1:43 PM, "Jean-Daniel Cryans" <jdcry...@apache.org> wrote:

>And what would be missing? It's all open source so this is the moment
>where you can forever leave a trace in HBase :)
>
>J-D
>
>On Tue, Feb 14, 2012 at 12:35 AM, Bing Li <lbl...@gmail.com> wrote:
>> Dear Jean-Daniel,
>>
>> The issue is solved. I think the book in the HBase the Definitive Guide
>> does not give sufficient descriptions about the pseudo-distributed mode.
>>
>> Thanks so much!
>> Bing
>>
>> On Tue, Feb 14, 2012 at 7:27 AM, Jean-Daniel Cryans
>><jdcry...@apache.org>wrote:
>>
>>> Is zookeeper running properly? Is it where your shell expects it to
>>> be? Can you access HBase's web ui on port 60010?
>>>
>>> J-D
>>>
>>> On Sun, Feb 12, 2012 at 1:00 PM, Bing Li <lbl...@gmail.com> wrote:
>>> > Dear all,
>>> >
>>> > I am a new learner of HBase. I tried to set up my HBase on a
>>> > pseudo-distributed HDFS.
>>> >
>>> > After starting HDFS by running ./start-dfs.sh and ./start-hbase.sh, I
>>> > started the HBase shell.
>>> >
>>> >   ./hbase shell
>>> >
>>> > It was started properly. However, when I typed the command, status,
>>>as
>>> > follows.
>>> >
>>> >   hbase(main):001:0> status
>>> >
>>> > It got the following exception. Since I had very limited experiences
>>>to
>>> use
>>> > HBase, I could not figure out what the problem was.
>>> >
>>> > SLF4J: Class path contains multiple SLF4J bindings.
>>> > SLF4J: Found binding in
>>> >
>>> 
>>>[jar:file:/opt/hbase-0.92.0/lib/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/
>>>StaticLoggerBinder.class]
>>> > SLF4J: Found binding in
>>> >
>>> 
>>>[jar:file:/opt/hadoop-1.0.0/lib/slf4j-log4j12-1.4.3.jar!/org/slf4j/impl/
>>>StaticLoggerBinder.class]
>>> > SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
>>> > explanation.
>>> > 12/02/13 04:34:01 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper
>>>exists
>>> > failed after 3 retries
>>> > 12/02/13 04:34:01 WARN zookeeper.ZKUtil: hconnection Unable to set
>>> watcher
>>> > on znode /hbase/master
>>> > org.apache.zookeeper.KeeperException$ConnectionLossException:
>>> > KeeperErrorCode = ConnectionLoss for /hbase/master
>>> >        at
>>> > org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
>>> >        at
>>> > org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
>>> >        at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1003)
>>> >        at
>>> >
>>> 
>>>org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(Recoverabl
>>>eZooKeeper.java:154)
>>> >        at
>>> >
>>> 
>>>org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java
>>>:226)
>>> >        at
>>> >
>>> 
>>>org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNo
>>>deTracker.java:76)
>>> >        at
>>> >
>>> 
>>>org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementat
>>>ion.setupZookeeperTrackers(HConnectionManager.java:580)
>>> >        at
>>> >
>>> 
>>>org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementat
>>>ion.<init>(HConnectionManager.java:569)
>>> >        at
>>> >
>>> 
>>>org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnect
>>>ionManager.java:186)
>>> >        at
>>> > org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:98)
>>> >        at 
>>>sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>> > Method)
>>> >        at
>>> >
>>> 
>>>sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
>>>ccessorImpl.java:39)
>>> >        at
>>> >
>>> 
>>>sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
>>>tructorAccessorImpl.java:27)
>>> >        at 
>>>java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>> >        at
>>> >
>>> 
>>>org.jruby.javasupport.JavaConstructor.newInstanceDirect(JavaConstructor.
>>>java:275)
>>> >        at
>>> >
>>> 
>>>org.jruby.java.invokers.ConstructorInvoker.call(ConstructorInvoker.java:
>>>91)
>>> >        at
>>> >
>>> 
>>>org.jruby.java.invokers.ConstructorInvoker.call(ConstructorInvoker.java:
>>>178)
>>> >        at
>>> >
>>> 
>>>org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.
>>>java:322)
>>> >        at
>>> >
>>> 
>>>org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.jav
>>>a:178)
>>> >        at
>>> > 
>>>org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182
>>>)
>>> >        at
>>> >
>>> 
>>>org.jruby.java.proxies.ConcreteJavaProxy$2.call(ConcreteJavaProxy.java:4
>>>7)
>>> >        at
>>> >
>>> 
>>>org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.
>>>java:322)
>>> >
>>> > Could you please give me a hand? Thanks so much!
>>> >
>>> > Best regards,
>>> > Bing
>>>
>


Reply via email to