[ https://issues.apache.org/jira/browse/HBASE-5852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260211#comment-13260211 ]
stack commented on HBASE-5852: ------------------------------ You should ask about this issue on mailing list first. For sure the hadoop classpath is not being picked up by hbase when its started? > Standalone HBase-0.92.1 fails to start master when coexisting with > Hadoop-1.0.1, unnecessarily trying connecting to namenode. > ------------------------------------------------------------------------------------------------------------------------------ > > Key: HBASE-5852 > URL: https://issues.apache.org/jira/browse/HBASE-5852 > Project: HBase > Issue Type: Bug > Components: master > Affects Versions: 0.92.1 > Environment: Scientific Linux 6.2 x86_64 with Oracle JDK 1.6 > Mac OS X Lion 10.7.1 with Oracle JDK 1.6 > Reporter: Jianwen WEI > Labels: hadoop, hbase, newbie > Original Estimate: 168h > Remaining Estimate: 168h > > I want to run a standalone HBase instance for development test purpose, which > requires no HDFS. It works well on my server. However, when I add a hadoop > directory into my server, HBase seems to notice that change and try to > connect to Hadoop's namenode. The failures of HBase's connecting to Hadoop > NameNode cause MHBase fail to start. > I extracted HBase-0.92.1 to my home directory: > ~/hbase -> ~/hbase-0.92.1 > In configuration file ~/hbase/config/hbase-site.xml, I set HBase to > standalone mode and specify the data directory it uses. > <configuration> > <property> > <name>hbase.rootdir</name> > <value>file:///home/jianwen/.hbase.data</value> > </property> > </configuration> > Then I start HBase service with start-hbase.sh, enter HBase shell. Tests go > well. > But things change when I install Hadoop into the same server. Hadoop-1.0.1 > lies in my home directory too. > ~/hadoop -> ~/hadoop-1.0.1 > In configuration file ~/hadoop/config/core-site.xml, I set Hadoop to run in a > pseudo distributed environment and specify the data directory for HDFS. > <configuration> > <property> > <name>hadoop.tmp.dir</name> > <value>/home/jianwen/.hdfs.data</value> > <description>A base for other temporary directories.</description> > </property> > <property> > <name>fs.default.name</name> > <value>hdfs://localhost:9000</value> > </property> > </configuration> > Then I format namenode, start hadoop service, run some MapReduce test > programs, such as Pi, grep, et al. Hadoop works on my pesudo distributed > environment. Then I stop hadoop service. > Since I add hadoop in my home directory, HBase fails to start. HBase log > shows that HBase tries to connect to Hadoop NameNode when starting up, then > fails. That's ridiculous because HBase in standalone mode should have NOTHING > about NameNode and HDFS. > In summary, there may be two problems: > - Standalone HBase attempts to connect to Hadoop NameNode at starting up when > hadoop directory is co-located in home. > - Not stating in HBase's configuration files, HBase seems to implicitly > search hadoop directory around it and read the configuration information, > such as NameNode in file core-site.xml. This unclear behavior confuses me a > lot. > Log for standalone HBase starting up: > ... > 2012-04-22 11:50:41,078 DEBUG > org.apache.hadoop.hbase.master.LogCleaner: Add log cleaner in chain: > org.apache.hadoop.hbase.master.TimeToLiveLogCleaner > 2012-04-22 11:50:41,115 INFO org.mortbay.log: Logging to > org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via > org.mortbay.log.Slf4jLog > 2012-04-22 11:50:41,160 INFO org.apache.hadoop.http.HttpServer: Added > global filtersafety > (class=org.apache.hadoop.http.HttpServer$QuotingInputFilter) > 2012-04-22 11:50:41,165 INFO org.apache.hadoop.http.HttpServer: Port > returned by webServer.getConnectors()[0].getLocalPort() before open() is -1. > Opening the listener on 60010 > 2012-04-22 11:50:41,165 INFO org.apache.hadoop.http.HttpServer: > listener.getLocalPort() returned 60010 > webServer.getConnectors()[0].getLocalPort() returned 60010 > 2012-04-22 11:50:41,165 INFO org.apache.hadoop.http.HttpServer: Jetty > bound to port 60010 > 2012-04-22 11:50:41,165 INFO org.mortbay.log: jetty-6.1.26 > 2012-04-22 11:50:41,548 INFO org.mortbay.log: Started > SelectChannelConnector@0.0.0.0:60010 > 2012-04-22 11:50:41,548 DEBUG org.apache.hadoop.hbase.master.HMaster: > Started service threads > 2012-04-22 11:50:41,790 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s). > 2012-04-22 11:50:42,792 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 1 time(s). > 2012-04-22 11:50:43,050 INFO > org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to > checkin > 2012-04-22 11:50:43,794 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 2 time(s). > 2012-04-22 11:50:44,551 INFO > org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to > checkin > 2012-04-22 11:50:44,795 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 3 time(s). > 2012-04-22 11:50:45,796 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 4 time(s). > 2012-04-22 11:50:46,052 INFO > org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to > checkin > 2012-04-22 11:50:46,798 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 5 time(s). > 2012-04-22 11:50:47,554 INFO > org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to > checkin > 2012-04-22 11:50:47,800 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 6 time(s). > 2012-04-22 11:50:48,801 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 7 time(s). > 2012-04-22 11:50:49,055 INFO > org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to > checkin > 2012-04-22 11:50:49,803 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 8 time(s). > 2012-04-22 11:50:50,556 INFO > org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to > checkin > 2012-04-22 11:50:50,805 INFO org.apache.hadoop.ipc.Client: Retrying > connect to server: localhost/127.0.0.1:9000. Already tried 9 time(s). > 2012-04-22 11:50:50,806 ERROR > org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master > java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on > connection exception: java.net.ConnectException: Connection refused > at org.apache.hadoop.ipc.Client.wrapException(Client.java:1095) > at org.apache.hadoop.ipc.Client.call(Client.java:1071) > ... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira