org.apache.hadoop.fs.permission.FsPermission#getUserAction ( )源码实例Demo

下面列出了org.apache.hadoop.fs.permission.FsPermission#getUserAction ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: hadoop   文件: FsDatasetImpl.java
@Override
public void setPinning(ExtendedBlock block) throws IOException {
  if (!blockPinningEnabled) {
    return;
  }

  File f = getBlockFile(block);
  Path p = new Path(f.getAbsolutePath());
  
  FsPermission oldPermission = localFS.getFileStatus(
      new Path(f.getAbsolutePath())).getPermission();
  //sticky bit is used for pinning purpose
  FsPermission permission = new FsPermission(oldPermission.getUserAction(),
      oldPermission.getGroupAction(), oldPermission.getOtherAction(), true);
  localFS.setPermission(p, permission);
}
 
源代码2 项目: big-c   文件: FsDatasetImpl.java
@Override
public void setPinning(ExtendedBlock block) throws IOException {
  if (!blockPinningEnabled) {
    return;
  }

  File f = getBlockFile(block);
  Path p = new Path(f.getAbsolutePath());
  
  FsPermission oldPermission = localFS.getFileStatus(
      new Path(f.getAbsolutePath())).getPermission();
  //sticky bit is used for pinning purpose
  FsPermission permission = new FsPermission(oldPermission.getUserAction(),
      oldPermission.getGroupAction(), oldPermission.getOtherAction(), true);
  localFS.setPermission(p, permission);
}
 
@Before
public void setUp() throws IOException, InterruptedException {
  rmr(TMPDIR);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "HdfsTraceStorageTest").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);

  configuration = new BlurConfiguration();
  configuration.set(BLUR_HDFS_TRACE_PATH, directory.makeQualified(localFS).toString());
  _storage = new HdfsTraceStorage(configuration);
  _storage.init(new Configuration());
}
 
@BeforeClass
public static void startCluster() throws IOException {
  GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, externalProcesses);
}
 
@BeforeClass
public static void startCluster() throws IOException {
  GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true);
  connectionStr = miniCluster.getControllerConnectionStr();

}
 
源代码6 项目: incubator-retired-blur   文件: BlurSerDeTest.java
@BeforeClass
public static void startCluster() throws IOException {
  System.setProperty("hadoop.log.dir", "./target/tmp_BlurSerDeTest_hadoop_log");
  GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-SerDe-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, externalProcesses);
  miniCluster.startMrMiniCluster();
}
 
源代码7 项目: nifi   文件: GetHDFSFileInfo.java
protected String getPerms(final FsPermission permission) {

        final StringBuilder sb = new StringBuilder();
        for (FsAction action : new FsAction[]{permission.getUserAction(), permission.getGroupAction(), permission.getOtherAction()}) {
            if (action.implies(FsAction.READ)) {
                sb.append("r");
            } else {
                sb.append("-");
            }

            if (action.implies(FsAction.WRITE)) {
                sb.append("w");
            } else {
                sb.append("-");
            }

            if (action.implies(FsAction.EXECUTE)) {
                sb.append("x");
            } else {
                sb.append("-");
            }
        }

        return sb.toString();
    }
 
源代码8 项目: hadoop   文件: FileUtil.java
/**
 * Set permissions to the required value. Uses the java primitives instead
 * of forking if group == other.
 * @param f the file to change
 * @param permission the new permissions
 * @throws IOException
 */
public static void setPermission(File f, FsPermission permission
                                 ) throws IOException {
  FsAction user = permission.getUserAction();
  FsAction group = permission.getGroupAction();
  FsAction other = permission.getOtherAction();

  // use the native/fork if the group/other permissions are different
  // or if the native is available or on Windows
  if (group != other || NativeIO.isAvailable() || Shell.WINDOWS) {
    execSetPermission(f, permission);
    return;
  }
  
  boolean rv = true;
  
  // read perms
  rv = f.setReadable(group.implies(FsAction.READ), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {
    rv = f.setReadable(user.implies(FsAction.READ), true);
    checkReturnValue(rv, f, permission);
  }

  // write perms
  rv = f.setWritable(group.implies(FsAction.WRITE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) {
    rv = f.setWritable(user.implies(FsAction.WRITE), true);
    checkReturnValue(rv, f, permission);
  }

  // exec perms
  rv = f.setExecutable(group.implies(FsAction.EXECUTE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) {
    rv = f.setExecutable(user.implies(FsAction.EXECUTE), true);
    checkReturnValue(rv, f, permission);
  }
}
 
源代码9 项目: big-c   文件: FileUtil.java
/**
 * Set permissions to the required value. Uses the java primitives instead
 * of forking if group == other.
 * @param f the file to change
 * @param permission the new permissions
 * @throws IOException
 */
public static void setPermission(File f, FsPermission permission
                                 ) throws IOException {
  FsAction user = permission.getUserAction();
  FsAction group = permission.getGroupAction();
  FsAction other = permission.getOtherAction();

  // use the native/fork if the group/other permissions are different
  // or if the native is available or on Windows
  if (group != other || NativeIO.isAvailable() || Shell.WINDOWS) {
    execSetPermission(f, permission);
    return;
  }
  
  boolean rv = true;
  
  // read perms
  rv = f.setReadable(group.implies(FsAction.READ), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {
    rv = f.setReadable(user.implies(FsAction.READ), true);
    checkReturnValue(rv, f, permission);
  }

  // write perms
  rv = f.setWritable(group.implies(FsAction.WRITE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) {
    rv = f.setWritable(user.implies(FsAction.WRITE), true);
    checkReturnValue(rv, f, permission);
  }

  // exec perms
  rv = f.setExecutable(group.implies(FsAction.EXECUTE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) {
    rv = f.setExecutable(user.implies(FsAction.EXECUTE), true);
    checkReturnValue(rv, f, permission);
  }
}
 
源代码10 项目: lucene-solr   文件: FileUtil.java
/**
 * Set permissions to the required value. Uses the java primitives instead
 * of forking if group == other.
 * @param f the file to change
 * @param permission the new permissions
 * @throws IOException exception on setPermission
 */
public static void setPermission(File f, FsPermission permission
) throws IOException {
  FsAction user = permission.getUserAction();
  FsAction group = permission.getGroupAction();
  FsAction other = permission.getOtherAction();

  // use the native/fork if the group/other permissions are different
  // or if the native is available or on Windows
  if (group != other || NativeIO.isAvailable() || Shell.WINDOWS) {
    execSetPermission(f, permission);
    return;
  }

  boolean rv = true;

  // read perms
  rv = f.setReadable(group.implies(FsAction.READ), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {
    rv = f.setReadable(user.implies(FsAction.READ), true);
    checkReturnValue(rv, f, permission);
  }

  // write perms
  rv = f.setWritable(group.implies(FsAction.WRITE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) {
    rv = f.setWritable(user.implies(FsAction.WRITE), true);
    checkReturnValue(rv, f, permission);
  }

  // exec perms
  rv = f.setExecutable(group.implies(FsAction.EXECUTE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) {
    rv = f.setExecutable(user.implies(FsAction.EXECUTE), true);
    checkReturnValue(rv, f, permission);
  }
}
 
源代码11 项目: hudi   文件: FSPermissionDTO.java
public static FSPermissionDTO fromFsPermission(FsPermission permission) {
  if (null == permission) {
    return null;
  }
  FSPermissionDTO dto = new FSPermissionDTO();
  dto.useraction = permission.getUserAction();
  dto.groupaction = permission.getGroupAction();
  dto.otheraction = permission.getOtherAction();
  dto.stickyBit = permission.getStickyBit();
  return dto;
}
 
源代码12 项目: jsr203-hadoop   文件: HadoopPosixFileAttributes.java
public HadoopPosixFileAttributes(HadoopFileSystem hdfs, Object fileKey,
    FileStatus fileStatus) throws IOException {
  super(fileKey, fileStatus);
  this.owner = hdfs.getUserPrincipalLookupService()
      .lookupPrincipalByGroupName(fileStatus.getOwner());
  this.group = hdfs.getUserPrincipalLookupService()
      .lookupPrincipalByGroupName(fileStatus.getGroup());
  FsPermission fsPermission = getFileStatus().getPermission();
  String perms = fsPermission.getUserAction().SYMBOL
      + fsPermission.getGroupAction().SYMBOL
      + fsPermission.getOtherAction().SYMBOL;
  this.permissions = PosixFilePermissions.fromString(perms);
}
 
源代码13 项目: incubator-retired-blur   文件: RunMiniCluster.java
public static void main(String[] args) throws IOException {
  // GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  MiniCluster miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, false);

  System.out.println("ZK Connection String = [" + miniCluster.getZkConnectionString() + "]");
  System.out.println("Controller Connection String = [" + miniCluster.getControllerConnectionStr() + "]");
  System.out.println("HDFS URI = [" + miniCluster.getFileSystemUri() + "]");

}
 
@BeforeClass
public static void setupTest() throws Exception {
  GCWatcher.init(0.60);
  JavaHome.checkJavaHome();
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, false);

  TEST_ROOT_DIR = new Path(miniCluster.getFileSystemUri().toString() + "/blur_test");
  System.setProperty("hadoop.log.dir", "./target/BlurOutputFormatTest/hadoop_log");
  try {
    fileSystem = TEST_ROOT_DIR.getFileSystem(conf);
  } catch (IOException io) {
    throw new RuntimeException("problem getting local fs", io);
  }

  FileSystem.setDefaultUri(conf, miniCluster.getFileSystemUri());

  miniCluster.startMrMiniCluster();
  conf = miniCluster.getMRConfiguration();

  BufferStore.initNewBuffer(128, 128 * 128);
}
 
源代码15 项目: hadoop   文件: NativeAzureFileSystemBaseTest.java
private static FsPermission ignoreStickyBit(FsPermission original) {
  return new FsPermission(original.getUserAction(),
      original.getGroupAction(), original.getOtherAction());
}
 
源代码16 项目: twill   文件: FileContextLocation.java
@Override
public String getPermissions() throws IOException {
  FsPermission permission = fc.getFileStatus(path).getPermission();
  return permission.getUserAction().SYMBOL + permission.getGroupAction().SYMBOL + permission.getOtherAction().SYMBOL;
}
 
源代码17 项目: big-c   文件: NativeAzureFileSystemBaseTest.java
private static FsPermission ignoreStickyBit(FsPermission original) {
  return new FsPermission(original.getUserAction(),
      original.getGroupAction(), original.getOtherAction());
}