[ 
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

        

Reply via email to