• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SnapshotManager类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager的典型用法代码示例。如果您正苦于以下问题:Java SnapshotManager类的具体用法?Java SnapshotManager怎么用?Java SnapshotManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SnapshotManager类属于org.apache.hadoop.hdfs.server.namenode.snapshot包,在下文中一共展示了SnapshotManager类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: renameSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
static void renameSnapshot(FSDirectory fsd, SnapshotManager snapshotManager,
    String path, String snapshotOldName, String snapshotNewName,
    boolean logRetryCache) throws IOException {
  final INodesInPath iip = fsd.getINodesInPath4Write(path);
  if (fsd.isPermissionEnabled()) {
    FSPermissionChecker pc = fsd.getPermissionChecker();
    fsd.checkOwner(pc, iip);
  }
  verifySnapshotName(fsd, snapshotNewName, path);
  fsd.writeLock();
  try {
    snapshotManager.renameSnapshot(iip, path, snapshotOldName,
        snapshotNewName);
  } finally {
    fsd.writeUnlock();
  }
  fsd.getEditLog().logRenameSnapshot(path, snapshotOldName,
      snapshotNewName, logRetryCache);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:FSDirSnapshotOp.java


示例2: getSnapshotDiffReport

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
static SnapshotDiffReport getSnapshotDiffReport(FSDirectory fsd,
    SnapshotManager snapshotManager, String path,
    String fromSnapshot, String toSnapshot) throws IOException {
  SnapshotDiffReport diffs;
  final FSPermissionChecker pc = fsd.getPermissionChecker();
  fsd.readLock();
  try {
    if (fsd.isPermissionEnabled()) {
      checkSubtreeReadPermission(fsd, pc, path, fromSnapshot);
      checkSubtreeReadPermission(fsd, pc, path, toSnapshot);
    }
    INodesInPath iip = fsd.getINodesInPath(path, true);
    diffs = snapshotManager.diff(iip, path, fromSnapshot, toSnapshot);
  } finally {
    fsd.readUnlock();
  }
  return diffs;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:19,代码来源:FSDirSnapshotOp.java


示例3: allowSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
/** Allow snapshot on a directory. */
static void allowSnapshot(FSDirectory fsd, SnapshotManager snapshotManager,
                          String path) throws IOException {
  fsd.writeLock();
  try {
    snapshotManager.setSnapshottable(path, true);
  } finally {
    fsd.writeUnlock();
  }
  fsd.getEditLog().logAllowSnapshot(path);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:FSDirSnapshotOp.java


示例4: disallowSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
static void disallowSnapshot(
    FSDirectory fsd, SnapshotManager snapshotManager,
    String path) throws IOException {
  fsd.writeLock();
  try {
    snapshotManager.resetSnapshottable(path);
  } finally {
    fsd.writeUnlock();
  }
  fsd.getEditLog().logDisallowSnapshot(path);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:FSDirSnapshotOp.java


示例5: createSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
/**
 * Create a snapshot
 * @param snapshotRoot The directory path where the snapshot is taken
 * @param snapshotName The name of the snapshot
 */
static String createSnapshot(
    FSDirectory fsd, SnapshotManager snapshotManager, String snapshotRoot,
    String snapshotName, boolean logRetryCache)
    throws IOException {
  final INodesInPath iip = fsd.getINodesInPath4Write(snapshotRoot);
  if (fsd.isPermissionEnabled()) {
    FSPermissionChecker pc = fsd.getPermissionChecker();
    fsd.checkOwner(pc, iip);
  }

  if (snapshotName == null || snapshotName.isEmpty()) {
    snapshotName = Snapshot.generateDefaultSnapshotName();
  } else if (!DFSUtil.isValidNameForComponent(snapshotName)) {
    throw new InvalidPathException("Invalid snapshot name: " + snapshotName);
  }

  String snapshotPath = null;
  verifySnapshotName(fsd, snapshotName, snapshotRoot);
  fsd.writeLock();
  try {
    snapshotPath = snapshotManager.createSnapshot(iip, snapshotRoot,
        snapshotName);
  } finally {
    fsd.writeUnlock();
  }
  fsd.getEditLog().logCreateSnapshot(snapshotRoot, snapshotName,
      logRetryCache);

  return snapshotPath;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:36,代码来源:FSDirSnapshotOp.java


示例6: getSnapshottableDirListing

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
static SnapshottableDirectoryStatus[] getSnapshottableDirListing(
    FSDirectory fsd, SnapshotManager snapshotManager) throws IOException {
  FSPermissionChecker pc = fsd.getPermissionChecker();
  fsd.readLock();
  try {
    final String user = pc.isSuperUser()? null : pc.getUser();
    return snapshotManager.getSnapshottableDirListing(user);
  } finally {
    fsd.readUnlock();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:12,代码来源:FSDirSnapshotOp.java


示例7: deleteSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
/**
 * Delete a snapshot of a snapshottable directory
 * @param snapshotRoot The snapshottable directory
 * @param snapshotName The name of the to-be-deleted snapshot
 * @throws IOException
 */
static INode.BlocksMapUpdateInfo deleteSnapshot(
    FSDirectory fsd, SnapshotManager snapshotManager, String snapshotRoot,
    String snapshotName, boolean logRetryCache)
    throws IOException {
  final INodesInPath iip = fsd.getINodesInPath4Write(snapshotRoot);
  if (fsd.isPermissionEnabled()) {
    FSPermissionChecker pc = fsd.getPermissionChecker();
    fsd.checkOwner(pc, iip);
  }

  INode.BlocksMapUpdateInfo collectedBlocks = new INode.BlocksMapUpdateInfo();
  ChunkedArrayList<INode> removedINodes = new ChunkedArrayList<INode>();
  fsd.writeLock();
  try {
    snapshotManager.deleteSnapshot(iip, snapshotName, collectedBlocks,
        removedINodes);
    fsd.removeFromInodeMap(removedINodes);
  } finally {
    fsd.writeUnlock();
  }
  removedINodes.clear();
  fsd.getEditLog().logDeleteSnapshot(snapshotRoot, snapshotName,
      logRetryCache);

  return collectedBlocks;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:FSDirSnapshotOp.java


示例8: deleteSnapshot

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
/**
 * Delete a snapshot of a snapshottable directory
 * @param snapshotRoot The snapshottable directory
 * @param snapshotName The name of the to-be-deleted snapshot
 * @throws IOException
 */
static INode.BlocksMapUpdateInfo deleteSnapshot(
    FSDirectory fsd, SnapshotManager snapshotManager, String snapshotRoot,
    String snapshotName, boolean logRetryCache)
    throws IOException {
  final INodesInPath iip = fsd.getINodesInPath4Write(snapshotRoot);
  if (fsd.isPermissionEnabled()) {
    FSPermissionChecker pc = fsd.getPermissionChecker();
    fsd.checkOwner(pc, iip);
  }

  INode.BlocksMapUpdateInfo collectedBlocks = new INode.BlocksMapUpdateInfo();
  ChunkedArrayList<INode> removedINodes = new ChunkedArrayList<>();
  INode.ReclaimContext context = new INode.ReclaimContext(
      fsd.getBlockStoragePolicySuite(), collectedBlocks, removedINodes, null);
  fsd.writeLock();
  try {
    snapshotManager.deleteSnapshot(iip, snapshotName, context);
    fsd.updateCount(iip, context.quotaDelta(), false);
    fsd.removeFromInodeMap(removedINodes);
    fsd.updateReplicationFactor(context.collectedBlocks()
                                    .toUpdateReplicationInfo());
  } finally {
    fsd.writeUnlock();
  }
  removedINodes.clear();
  fsd.getEditLog().logDeleteSnapshot(snapshotRoot, snapshotName,
      logRetryCache);

  return collectedBlocks;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:37,代码来源:FSDirSnapshotOp.java


示例9: getSnapshotManager

import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotManager; //导入依赖的package包/类
public SnapshotManager getSnapshotManager() {
  return snapshotManager;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:4,代码来源:FSNamesystem.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ResultSetMetaData类代码示例发布时间:2022-05-22
下一篇:
Java ITreeProvider类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap