HBase's notion of what mapfiles are in a Region is gotten at region open time. HBase and HDFS can diverge if the region has been opened elsewhere -- possible during times of churn such as startup or after regionserver crash (see hbase-1104). The open in other location could have removed the file. Is this whats happening with you Dru? For the below missing file, the regionid code is 2022550034. Grep the master log file with '2022550034'. This should turn up the actual region name ('2022550034' is jenkins encoding of actual name). Then take the actual region name and grep the master log. This'll emit the regions history. Try studying it to see if you see it being assigned to two regionservers. If no close in between, then you are probably suffering hbase-1104 (There is also the region historian pages in the master UI if you want to avoid logs; grep the encoded region name in the table page in UI).

Usually a restart 'fixes' things so hbase has a 'true' view of whats on the filesystem again but sounds like its not happening for you. Thats strange. Its always the same file missing that is causing your MR to fail?

St.Ack


Dru Jensen wrote:
I have a MR process that is failing at the same point everytime I try to run it. I have restarted hadoop and hbase but that didn't fix it (unlike last time).

I checked dfs and the file that hbase is looking for does not exist. Is there a tool I can run to fix this?

Thanks,
Dru

org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact region server 10.10.10.52:60020 for region talentmaps,http://reporternews.com/news/2008/feb/13/sampson-in-trouble-over-major-violations/,1226767718516, row 'http://reporternews.com/news/2008/feb/13/sampson-in-trouble-over-major-violations/', but failed after 10 attempts.
Exceptions:
java.io.IOException: java.io.IOException: HStoreScanner failed construction at org.apache.hadoop.hbase.regionserver.StoreFileScanner.(StoreFileScanner.java:70) at org.apache.hadoop.hbase.regionserver.HStoreScanner.(HStoreScanner.java:88) at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2123) at org.apache.hadoop.hbase.regionserver.HRegion$HScanner.(HRegion.java:1984) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1178) at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:1697)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:632) at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:894) Caused by: java.io.FileNotFoundException: File does not exist: hdfs://dev-hadoop0.brandaffinity.net:9000/hbase/talentmaps/2022550034/base/mapfiles/7007481172739780749/data at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:394)
    at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:679)
at org.apache.hadoop.hbase.io.SequenceFile$Reader.(SequenceFile.java:1431) at org.apache.hadoop.hbase.io.SequenceFile$Reader.(SequenceFile.java:1426) at org.apache.hadoop.hbase.io.MapFile$Reader.createDataFileReader(MapFile.java:310) at org.apache.hadoop.hbase.io.HBaseMapFile$HBaseReader.createDataFileReader(HBaseMapFile.java:96)
    at org.apache.hadoop.hbase.io.MapFile$Reader.open(MapFile.java:292)
at org.apache.hadoop.hbase.io.HBaseMapFile$HBaseReader.(HBaseMapFile.java:79) at org.apache.hadoop.hbase.io.BloomFilterMapFile$Reader.(BloomFilterMapFile.java:65) at org.apache.hadoop.hbase.regionserver.HStoreFile.getReader(HStoreFile.java:443) at org.apache.hadoop.hbase.regionserver.StoreFileScanner.openReaders(StoreFileScanner.java:96) at org.apache.hadoop.hbase.regionserver.StoreFileScanner.(StoreFileScanner.java:67)
    ... 11 more



Reply via email to