[
https://issues.apache.org/jira/browse/HBASE-5738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13258056#comment-13258056
]
Eli Collins commented on HBASE-5738:
------------------------------------
Shaneal,
Does using defaultFS fix the issues?
Looking at the exception..
{noformat}
Caused by: org.apache.hadoop.fs.InvalidPathException: Invalid path
name Wrong FS: hdfs://ha-nn-uri/hbase/-ROOT-/70236052/.logs/hlog.1327624121445,
expected: hdfs://ha-nn-uri:8020
at
org.apache.hadoop.fs.AbstractFileSystem.checkPath(AbstractFileSystem.java:361)
at
org.apache.hadoop.fs.AbstractFileSystem.create(AbstractFileSystem.java:462)
at org.apache.hadoop.fs.FileContext$3.next(FileContext.java:657)
at org.apache.hadoop.fs.FileContext$3.next(FileContext.java:654)
at
org.apache.hadoop.fs.FileContext$FSLinkResolver.resolve(FileContext.java:2319)
at org.apache.hadoop.fs.FileContext.create(FileContext.java:654)
at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:501)
at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:468)
{noformat}
AFS#checkPath is failing because the authority of the FC URI (ha-nn-uri:8020)
doesn't match the authority of the given URI (ha-nn-uri).
Looking at the FC URI, AFS#getUri...
{code}
int port = uri.getPort();
port = (port == -1 ? defaultPort : port);
if (port == -1) { // no port supplied and default port is not specified
return new URI(supportedScheme, authority, "/", null);
}
{code}
So if we don't specify a port when creating the FC (which we don't, we're using
hdfs://ha-nn-uri/hbase) we'll fail to match the authority because we didn't set
a port and we're not using the default port for HDFS (8020).
Seems like a HADOOP bug to me, specifically the path given the AFS checkPath
should be one of the configured NN addresses which will have a port (ie the
address returned by the proxy provider) instead of the logical NN uri (or the
AFS#checkPath should be more lenient if the given path doesn't specify a port).
> Using HBase with HA HDFS requires bogus hardcoded port value
> ------------------------------------------------------------
>
> Key: HBASE-5738
> URL: https://issues.apache.org/jira/browse/HBASE-5738
> Project: HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 0.92.1, 0.94.0
> Reporter: Shaneal Manek
> Assignee: Shaneal Manek
> Attachments: HBASE-5738.patch
>
>
> When configuring HBase with HDFS HA, we currently have to have the 8020 port
> (regardless of what port HDFS is using for the namenode rpc address) in the
> following property in hbase-site.xml:
> {noformat}
> <property>
> <name>hbase.rootdir</name>
> <value>hdfs://ha-nn-uri:8020/hbase</value>
> </property>
> {noformat}
> Otherwise the master and regionservers will not start.
> The value in the above property should really just be
> "hdfs://ha-nn-uri/hbase" (replace "ha-nn-uri" with your uri and "hbase" with
> the name of the hbase directory in HDFS that you are using, as appropriate).
--
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