Hello,
I am trying to get Hadoop/HBase up and running in a fully distributed mode.
For now, I have only *1 Master & 2 Slaves*.
The Hadoop starts correctly.. I think. The only exception I see in various
log files is this one...
org.apache.hadoop.ipc.RemoteException:
org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete
/ebs1/mapred/system,/ebs2/mapred/system. Name node is in safe mode.
The ratio of reported blocks 0.0000 has not reached the threshold 0.9990. *Safe
mode will be turned off automatically*.
at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.deleteInternal(FSNamesystem.java:1696)
at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.delete(FSNamesystem.java:1676)
at
org.apache.hadoop.hdfs.server.namenode.NameNode.delete(NameNode.java:517)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Somehow this doesn't sound critical, so I assumed everything was good to go
with Hadoop.
So then I started HBase and opened a shell (hbase shell). So far everything
looks good. Now when I try to run a 'list' command, I keep getting this
message:
Caused by: org.apache.zookeeper.KeeperException$NoNodeException:
KeeperErrorCode = *NoNode for /hbase/master*
at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:42)
at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:892)
at
org.apache.hadoop.hbase.zookeeper.ZooKeeperWrapper.readAddressOrThrow(ZooKeeperWrapper.java:328)
Here's what I have in my *Master hbase-site.xml*
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:54310/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
The *Slave *hbase-site.xml are set as follows:
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:54310/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
In the hbase-env.sh file on ALL 3 machines I have set the JAVA_HOME and set
the HBase classpath as follows:
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/ebs1/hadoop-0.20.1/conf
On *Master* I have added Master & Slaves IP hostnames to *regionservers* file.
On *slaves*, the regionservers file is empty.
I have run hadoop namenode -format multiple times, but still keep getting..
"NoNode for /hbase/master". What step did I miss? Thanks for your help.