[
https://issues.apache.org/jira/browse/HBASE-5874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13263681#comment-13263681
]
Jonathan Hsieh commented on HBASE-5874:
---------------------------------------
Fulin:
Have you tried using the tool after the patch?
Do you have a dir with hdfs-site.xml in it in your 'hbase classpath'?
Actually looking at it, I don't think the original hbck line that potentially
sets fs.defaultFS to the HBASE root dir makes sense at all. Setting the
fs.default.name also seems incorrect. I'm actually more inclined to just
remove the line. Maybe it would be better to allow the user to override the
value by converting hbck into subclass of Tool?
In the case of Merge, it is a Tool already so if you don't have your
hdfs-site.xml files in the hbase classpath you could run it with an extra flag
to override particular properties such as fs.default.name.
{code}
hbase org.apache.hadoop.hbase.util.Merge -Dfs.default.name=hdfs://nn:port
<normal args>
{code}
> The HBase do not configure the 'fs.default.name' attribute, the hbck tool and
> Merge tool throw IllegalArgumentException.
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-5874
> URL: https://issues.apache.org/jira/browse/HBASE-5874
> Project: HBase
> Issue Type: Bug
> Components: hbck
> Affects Versions: 0.90.6
> Reporter: fulin wang
> Attachments: HBASE-5874-0.90.patch, HBASE-5874-trunk.patch
>
>
> The HBase do not configure the 'fs.default.name' attribute, the hbck tool and
> Merge tool throw IllegalArgumentException.
> the hbck tool and Merge tool, we should add 'fs.default.name' attriubte to
> the code.
> hbck exception:
> Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS:
> hdfs://160.176.0.101:9000/hbase/.META./1028785192/.regioninfo, expected:
> file:///
> at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:412)
> at
> org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:59)
> at
> org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:382)
> at
> org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:285)
> at
> org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:128)
> at
> org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:301)
> at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:489)
> at
> org.apache.hadoop.hbase.util.HBaseFsck.loadHdfsRegioninfo(HBaseFsck.java:565)
> at
> org.apache.hadoop.hbase.util.HBaseFsck.loadHdfsRegionInfos(HBaseFsck.java:596)
> at
> org.apache.hadoop.hbase.util.HBaseFsck.onlineConsistencyRepair(HBaseFsck.java:332)
> at org.apache.hadoop.hbase.util.HBaseFsck.onlineHbck(HBaseFsck.java:360)
> at org.apache.hadoop.hbase.util.HBaseFsck.main(HBaseFsck.java:2907)
>
> Merge exception:
> [2012-05-05 10:48:24,830] [ERROR] [main] [org.apache.hadoop.hbase.util.Merge
> 381] exiting due to error
> java.lang.IllegalArgumentException: Wrong FS:
> hdfs://160.176.0.101:9000/hbase/.META./1028785192/.regioninfo, expected:
> file:///
> at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:412)
> at
> org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:59)
> at
> org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:382)
> at
> org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:285)
> at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:823)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.checkRegioninfoOnFilesystem(HRegion.java:415)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:340)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:2679)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:2665)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:2634)
> at
> org.apache.hadoop.hbase.util.MetaUtils.openMetaRegion(MetaUtils.java:276)
> at
> org.apache.hadoop.hbase.util.MetaUtils.scanMetaRegion(MetaUtils.java:261)
> at org.apache.hadoop.hbase.util.Merge.run(Merge.java:115)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> at org.apache.hadoop.hbase.util.Merge.main(Merge.java:379)
--
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