当前位置: 首页>>代码示例>>Java>>正文


Java StartupOption.ROLLBACK属性代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.common.HdfsServerConstants.StartupOption.ROLLBACK属性的典型用法代码示例。如果您正苦于以下问题:Java StartupOption.ROLLBACK属性的具体用法?Java StartupOption.ROLLBACK怎么用?Java StartupOption.ROLLBACK使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.apache.hadoop.hdfs.server.common.HdfsServerConstants.StartupOption的用法示例。


在下文中一共展示了StartupOption.ROLLBACK属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseArguments

/**
 * Parse and verify command line arguments and set configuration parameters.
 *
 * @return false if passed argements are incorrect
 */
@VisibleForTesting
static boolean parseArguments(String args[], Configuration conf) {
  StartupOption startOpt = StartupOption.REGULAR;
  int i = 0;

  if (args != null && args.length != 0) {
    String cmd = args[i++];
    if ("-r".equalsIgnoreCase(cmd) || "--rack".equalsIgnoreCase(cmd)) {
      LOG.error("-r, --rack arguments are not supported anymore. RackID " +
          "resolution is handled by the NameNode.");
      return false;
    } else if (StartupOption.ROLLBACK.getName().equalsIgnoreCase(cmd)) {
      startOpt = StartupOption.ROLLBACK;
    } else if (StartupOption.REGULAR.getName().equalsIgnoreCase(cmd)) {
      startOpt = StartupOption.REGULAR;
    } else {
      return false;
    }
  }

  setStartupOption(conf, startOpt);
  return (args == null || i == args.length);    // Fail if more than one cmd specified!
}
 
开发者ID:naver,项目名称:hadoop,代码行数:28,代码来源:DataNode.java

示例2: analyzeAndRecoverStorage

void analyzeAndRecoverStorage(StartupOption startOpt) throws IOException {
  this.state = sd.analyzeStorage(startOpt, this);
  final boolean needRecover = state != StorageState.NORMAL
      && state != StorageState.NON_EXISTENT
      && state != StorageState.NOT_FORMATTED;
  if (state == StorageState.NORMAL && startOpt != StartupOption.ROLLBACK) {
    readProperties(sd);
  } else if (needRecover) {
    sd.doRecover(state);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:JNStorage.java

示例3: restartCluster

static void restartCluster(StartupOption o)
    throws IOException {
  cluster.shutdown();
  if(StartupOption.ROLLBACK == o)
    NameNode.doRollback(conf, false);
  cluster = new MiniDFSCluster.Builder(conf).numDataNodes(DATANODE_NUM)
      .format(false)
      .nameNodePort(NameNode.DEFAULT_PORT)
      .startupOption(o==StartupOption.ROLLBACK ? StartupOption.REGULAR : o)
      .dnStartupOption(o!=StartupOption.ROLLBACK ? StartupOption.REGULAR : o)
      .build();
  fs = cluster.getFileSystem();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:TestFileTruncate.java

示例4: recoverStorageDirs

/**
 * For each storage directory, performs recovery of incomplete transitions
 * (eg. upgrade, rollback, checkpoint) and inserts the directory's storage
 * state into the dataDirStates map.
 * @param dataDirStates output of storage directory states
 * @return true if there is at least one valid formatted storage directory
 */
public static boolean recoverStorageDirs(StartupOption startOpt,
    NNStorage storage, Map<StorageDirectory, StorageState> dataDirStates)
    throws IOException {
  boolean isFormatted = false;
  // This loop needs to be over all storage dirs, even shared dirs, to make
  // sure that we properly examine their state, but we make sure we don't
  // mutate the shared dir below in the actual loop.
  for (Iterator<StorageDirectory> it = 
                    storage.dirIterator(); it.hasNext();) {
    StorageDirectory sd = it.next();
    StorageState curState;
    if (startOpt == StartupOption.METADATAVERSION) {
      /* All we need is the layout version. */
      storage.readProperties(sd);
      return true;
    }

    try {
      curState = sd.analyzeStorage(startOpt, storage);
      // sd is locked but not opened
      switch(curState) {
      case NON_EXISTENT:
        // name-node fails if any of the configured storage dirs are missing
        throw new InconsistentFSStateException(sd.getRoot(),
                    "storage directory does not exist or is not accessible.");
      case NOT_FORMATTED:
        break;
      case NORMAL:
        break;
      default:  // recovery is possible
        sd.doRecover(curState);
      }
      if (curState != StorageState.NOT_FORMATTED 
          && startOpt != StartupOption.ROLLBACK) {
        // read and verify consistency with other directories
        storage.readProperties(sd, startOpt);
        isFormatted = true;
      }
      if (startOpt == StartupOption.IMPORT && isFormatted)
        // import of a checkpoint is allowed only into empty image directories
        throw new IOException("Cannot import image from a checkpoint. " 
            + " NameNode already contains an image in " + sd.getRoot());
    } catch (IOException ioe) {
      sd.unlock();
      throw ioe;
    }
    dataDirStates.put(sd,curState);
  }
  return isFormatted;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:57,代码来源:FSImage.java


注:本文中的org.apache.hadoop.hdfs.server.common.HdfsServerConstants.StartupOption.ROLLBACK属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。