hbase org.apache.hadoop.hbase.snapshot.SnapshotInfo -snapshot test_snapshot
-stats -schema

On Thu, Sep 24, 2015 at 3:43 PM, Sandeep Nemuri <[email protected]>
wrote:

> You can check snapshot state if it is healthy or not using below command.
>
>
> On Thu, Sep 24, 2015 at 2:55 PM, 核弹头す <[email protected]> wrote:
>
>> Hi all,
>>
>>
>> I am using hive to query on base snapshot. But I got the following  error:
>>
>> FAILED: IllegalArgumentException
>> org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException: Couldn't read
>> snapshot info
>> from:/tmp/hbase-huser/hbase/.hbase-snapshot/test_table_snap0/.snapshotinfo
>>
>> The following is the steps that I do:
>>
>> 1, on the hbase we already have an table: test_table. And I use command: 
>> snapshot
>> ‘test_table’ ,’test_table_snap0’   to create a  snapshot。
>>
>> 2,on the hive create an external table like:
>>
>> CREATE EXTERNAL TABLE `test_table_snapshot`(
>>
>>   `id` int,
>>
>>   `alias` string,
>>
>>   `kdt_id` int,
>>
>>   `created_time` string,
>>
>>   `update_time` string,
>>
>>   `title` string,
>>
>>   `price` bigint,
>>
>>   `goods_platform` int,
>>
>>   `buy_url` string,
>>
>>   `class1` int,
>>
>>   `class2` string,
>>
>>   `goods_type` tinyint,
>>
>>   `sold_status` tinyint,
>>
>>   `is_display` tinyint,
>>
>>   `is_delete` tinyint,
>>
>>   `num` bigint,
>>
>>   `buy_way` boolean,
>>
>>   `source` tinyint,
>>
>>   `content` string,
>>
>>   `picture` string,
>>
>>   `is_virtual` tinyint)
>>
>> ROW FORMAT SERDE
>>
>>   'org.apache.hadoop.hive.hbase.HBaseSerDe'
>>
>> STORED BY
>>
>>   'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
>>
>> WITH SERDEPROPERTIES (
>>
>>   'field.delim'='\u0001',
>>
>>
>> 'hbase.columns.mapping'=':key,cf1:alalis,cf1:kdt_id,cf1:created_time,cf1:update_time,cf1:title,cf1:price,cf1:goods_platform,cf1:buy_url,cf1:class1,cf1:class2,cf1:goods_type,cf1:sold_stattus,cf1:is_display,cf1:is_delete,cf1:num,cf1:buy_way,cf1:source,cf1:content,cf1:picture,cf1:is_virtual',
>>
>>   'line.delim'='\n',
>>
>>   'serialization.format'='\u0001')
>>
>> TBLPROPERTIES (
>>
>>   ‘hbase.table.name'='test_table')
>>
>>
>> 4, on Hive, execute “select * from test_table_snapshot”,  then I get the
>> above error.
>>
>>
>> I have set the “hive.hbase.snapshot.restoredir” value which is same as
>> the root dir on hbase, and I also set the zookeep server. I checked the
>> base root directory on hdfs and I can see the snapshot files. But when I
>> use the above query on hive. it seems that the base.tmp.dir is used to find
>> the snapshot info. BTW, if I directly query on hbase, there is no problem.
>> I do not know what happened?
>>
>>
>> The following is the hive error log:
>>
>> FAILED: SemanticException
>> org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException: Couldn't read
>> snapshot info from:/tmp
>> /hbase-huser/hbase/.hbase-snapshot/goods_v3_hbase_snap0/.snapshotinfo
>>
>> org.apache.hadoop.hive.ql.parse.SemanticException:
>> org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException: Couldn't read
>> snapshot info from:/tmp
>> /hbase-huser/hbase/.hbase-snapshot/goods_v3_hbase_snap0/.snapshotinfo
>>
>>         at
>> org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer.transform(SimpleFetchOptimizer.java:117)
>>
>>         at
>> org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:182)
>>
>>         at
>> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:
>> 10207)
>>
>>         at
>> org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:192)
>>
>>         at
>> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:222)
>>
>>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:421)
>>
>>         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:307)
>>
>>         at
>> org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1112)
>>
>>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1160)
>>
>>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1049)
>>
>>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1039)
>>
>>         at
>> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:207)
>>
>>         at
>> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:159)
>>
>>         at
>> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:370)
>>
>>         at
>> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:754)
>>
>>         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
>>
>>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
>>
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>
>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>
>>         at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
>>
>>         at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
>>
>> Caused by: java.lang.IllegalArgumentException:
>> org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException: Couldn't read
>> snapshot info from:/tmp
>> /hbase-huser/hbase/.hbase-snapshot/goods_v3_hbase_snap0/.snapshotinfo
>>
>>         at
>> org.apache.hadoop.hive.hbase.HBaseStorageHandler.configureTableJobProperties(HBaseStorageHandler.java:401)
>>
>>         at
>> org.apache.hadoop.hive.hbase.HBaseStorageHandler.configureInputJobProperties(HBaseStorageHandler.java:317)
>>
>>         at
>> org.apache.hadoop.hive.ql.plan.PlanUtils.configureJobPropertiesForStorageHandler(PlanUtils.java:809)
>>
>>         at
>> org.apache.hadoop.hive.ql.plan.PlanUtils.configureInputJobPropertiesForStorageHandler(PlanUtils.java:779)
>>
>>         at
>> org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer$FetchData.convertToWork(SimpleFetchOptimizer.java:379)
>>
>>         at
>> org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer$FetchData.access$000(SimpleFetchOptimizer.java:319)
>>
>>         at
>> org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer.optimize(SimpleFetchOptimizer.java:135)
>>
>>         at
>> org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer.transform(SimpleFetchOptimizer.java:106)
>>
>>         ... 22 more
>>
>> Caused by: org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException:
>> Couldn't read snapshot info from:/tmp
>> /hbase-huser/hbase/.hbase-snapshot/goods_v3_hbase_snap0/.snapshotinfo
>>
>>         at
>> org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils.readSnapshotInfo(SnapshotDescriptionUtils.java:307)
>>
>>         at
>> org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.copySnapshotForScanner(RestoreSnapshotHelper.java:727)
>>
>>         at
>> org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormatImpl.setInput(TableSnapshotInputFormatImpl.java:364)
>>
>>         at
>> org.apache.hadoop.hive.hbase.HBaseTableSnapshotInputFormatUtil.configureJob(HBaseTableSnapshotInputFormatUtil.java:77)
>>
>>         at
>> org.apache.hadoop.hive.hbase.HBaseStorageHandler.configureTableJobProperties(HBaseStorageHandler.java:387)
>>
>>         ... 29 more
>>
>
>
>
> --
> *  Regards*
> *  Sandeep Nemuri*
>



-- 
*  Regards*
*  Sandeep Nemuri*

Reply via email to