EsgynDB Troubleshooting-java.io.IOException: java.
现象
EsgynDB在做版本升级以后,发现无法查看backup tag,报错信息如下,
SQL>get all backup tags;
*** ERROR[5050] GET BACKUP TAGS command could not be completed. Reason: Error returned during list all backups. See next error for details. [2019-11-20 19:06:09]
*** ERROR[8448] Unable to access Hbase interface. Call to ExpHbaseInterface::listAllBackups returned error HBASE_GET_BACKUP_ERROR(731). Cause: java.io.IOException: java.io.IOException: java.io.IOException: java.util.NoSuchElementException
org.apache.hadoop.hbase.pit.BackupRestoreClient.listAllBackups(BackupRestoreClient.java:6009) Caused by
java.io.IOException: java.io.IOException: java.util.NoSuchElementException
org.apache.hadoop.hbase.pit.SnapshotMeta.listSnapshotStartRecords(SnapshotMeta.java:2082)
org.apache.hadoop.hbase.pit.BackupRestoreClient.listAllBackups(BackupRestoreClient.java:5926) Caused by
java.io.IOException: java.util.NoSuchElementException
org.apache.hadoop.hbase.pit.SnapshotMeta.listSnapshotStartRecords(SnapshotMeta.java:2074)
org.apache.hadoop.hbase.pit.BackupRestoreClient.listAllBackups(BackupRestoreClient.java:5926) Caused by
java.util.NoSuchElementException
java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
org.apache.hadoop.hbase.pit.SnapshotMeta.listSnapshotStartRecords(SnapshotMeta.java:2047)
org.apache.hadoop.hbase.pit.BackupRestoreClient.listAllBackups(BackupRestoreClient.java:5926). [2019-11-20 19:06:09]
解决
这个错误是由于在老版本备份的tag在新版本中无法识别导致,因此我们需要清理老版本的tag并在新版本中重新备份。
由于现在无法正常查看tag名称,我们选择直接从底层DTM表中删除tag并重启。步骤如下,
- 停止数据库
sqstop abrupt
- 删除DTM相关表
disable 'TRAF_RSRVD_5:TRAFODION._DTM_.MUTATION'
disable 'TRAF_RSRVD_5:TRAFODION._DTM_.SNAPSHOT'
disable 'TRAF_RSRVD_5:TRAFODION._DTM_.LOB_META_SHADOW'
disable 'TRAF_RSRVD_5:TRAFODION._DTM_.MUTATION_SHADOW'
drop 'TRAF_RSRVD_5:TRAFODION._DTM_.MUTATION'
drop 'TRAF_RSRVD_5:TRAFODION._DTM_.SNAPSHOT'
drop 'TRAF_RSRVD_5:TRAFODION._DTM_.LOB_META_SHADOW'
drop 'TRAF_RSRVD_5:TRAFODION._DTM_.MUTATION_SHADOW'
- 启动数据库
sqstart
- 重新验证查看tag命令
SQL>get all backup tags;
相关文章