Проблема в откате (после обновления обновления) с hadoop 2.7.1 до 2.4.0
Я пытался сделать непрерывное обновление с hadoop 2.4.0 до hadoop 2.7.1. В соответствии с http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html можно выполнить откат к предыдущему выпуску, если шаг завершения не выполнен. Я обновил установку, но не завершил обновление и попытался откатить HDFS до 2.4.0
Я попробовал следующие шаги
- Отключите все NN и DN.
- Восстановите предварительную версию на всех машинах.
- Запустите NN1 как активный с параметром "-rollingUpgrade rollback http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html".
Я получаю следующую ошибку после 3-го шага
15/09/01 17:53:35 INFO namenode.AclConfigFlag: ACLs enabled? false
15/09/01 17:53:35 INFO common.Storage: Lock on <<NameNode dir>>/in_use.lock acquired by nodename 12152@VM-2
15/09/01 17:53:35 WARN namenode.FSNamesystem: Encountered exception loading fsimage
org.apache.hadoop.hdfs.server.common.IncorrectVersionException: Unexpected version of storage directory /data/yarn/namenode. Reported: -63. Expecting = -56.
at org.apache.hadoop.hdfs.server.common.StorageInfo.setLayoutVersion(StorageInfo.java:178)
at org.apache.hadoop.hdfs.server.common.StorageInfo.setFieldsFromProperties(StorageInfo.java:131)
at org.apache.hadoop.hdfs.server.namenode.NNStorage.setFieldsFromProperties(NNStorage.java:608)
at org.apache.hadoop.hdfs.server.common.StorageInfo.readProperties(StorageInfo.java:228)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:309)
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:202)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:882)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:639)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:455)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:511)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:670)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:655)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1304)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1370)
15/09/01 17:53:35 INFO mortbay.log: Stopped SelectChannelConnector@0.0.0.0:50070
15/09/01 17:53:35 INFO impl.MetricsSystemImpl: Stopping NameNode metrics system...
15/09/01 17:53:35 INFO impl.MetricsSystemImpl: NameNode metrics system stopped.
15/09/01 17:53:35 INFO impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
15/09/01 17:53:35 FATAL namenode.NameNode: Exception in namenode join
Из документации непрерывного обновления можно сделать вывод, что непрерывное обновление поддерживается Hadoop 2.4.0 и выше, но откат RollUpgrade до Hadoop 2.4.0, похоже, не работает в Hadoop 2.4.0. Выдает вышеупомянутую ошибку.
Существуют ли другие шаги для выполнения отката (от непрерывного обновления), или он не поддерживается для отката на Hadoop 2.4.0.