[
https://issues.apache.org/jira/browse/HDFS-4967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13703024#comment-13703024
]
Fengdong Yu commented on HDFS-4967:
-----------------------------------
Hi Arpit,
I am already have a HA cluster(LayoutVersion=-43), and I don't want to upgrade,
because upgrade under HA is complicated.
AFAIK, upgrade under HA cluster including:
1) stop-dfs
2) replace core-site.xml hdfs-site.xml with Non-HA xmls.
3) merge edit logs from standby NN to active NN
4) start-dfs -upgrade
5) stop-dfs
6) revert core-site.xml and hdfs-site.xml(HA)
7) initializeSharedEdits
8) start-dfs
So, I did some hack in the trunk codes, like following:
{code}
- OPTIMIZE_SNAPSHOT_INODES(-45, -43,
+ OPTIMIZE_SNAPSHOT_INODES(-43, -43,
"Reduce snapshot inode memory footprint", false),
- SEQUENTIAL_BLOCK_ID(-46, "Allocate block IDs sequentially and store " +
- "block IDs in the edits log and image files");
+ SEQUENTIAL_BLOCK_ID(-43, -43, "Allocate block IDs sequentially and store "
+
+ "block IDs in the edits log and image files", false);
{code}
after that, I saw the above errors.
but now, I revert LayoutVersion.java, and upgraded cluster(eight steps I
mentions at first)
It works, no Exceptions.
So we can close this issue with "not a problem". but I want to know:
Am I right for these eight steps during upgrade?(from one HA verson to another
HA version, such as from LayoutVersion -43 to -46)
> Generate block ID sequentially cannot work with QJM HA
> ------------------------------------------------------
>
> Key: HDFS-4967
> URL: https://issues.apache.org/jira/browse/HDFS-4967
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: ha, hdfs-client, namenode
> Affects Versions: 3.0.0
> Reporter: Fengdong Yu
> Assignee: Arpit Agarwal
>
> There are two name nodes, one is active, another acts as standby name node.
> QJM Ha configured.
> After HDFS-4645 committed in the trunk, then the following error showed
> during name node start:
> {code}
> 2013-07-09 11:28:45,394 FATAL
> org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
> java.lang.IllegalStateException: Cannot skip to less than the current value
> (=1073741824), where newValue=0
> at
> org.apache.hadoop.util.SequentialNumber.skipTo(SequentialNumber.java:58)
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setLastAllocatedBlockId(FSNamesystem.java:5124)
> at
> org.apache.hadoop.hdfs.server.namenode.FSImageFormat$Loader.load(FSImageFormat.java:278)
> at
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:809)
> at
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:798)
> at
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImageFile(FSImage.java:653)
> at
> org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:623)
> at
> org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:260)
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:719)
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:552)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:401)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:435)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:607)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:592)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1172)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1238)
> 2013-07-09 11:28:45,397 INFO org.apache.hadoop.util.ExitUtil: Exiting with
> status 1
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira