Examples of FileContext

While URI names are very flexible, it requires knowing the name or address of the server. For convenience one often wants to access the default system in one's environment without knowing its name/address. This has an additional benefit that it allows one to change one's default fs (e.g. admin moves application from cluster1 to cluster2).

To facilitate this, Hadoop supports a notion of a default file system. The user can set his default file system, although this is typically set up for you in your environment via your default config. A default file system implies a default scheme and authority; slash-relative names (such as /for/bar) are resolved relative to that default FS. Similarly a user can also have working-directory-relative names (i.e. names not starting with a slash). While the working directory is generally in the same default FS, the wd can be in a different FS.

Hence Hadoop path names can be one of:

Relative paths with scheme (scheme:foo/bar) are illegal.

****The Role of the FileContext and configuration defaults****

The FileContext provides file namespace context for resolving file names; it also contains the umask for permissions, In that sense it is like the per-process file-related state in Unix system. These two properties

in general, are obtained from the default configuration file in your environment, (@see {@link Configuration}). No other configuration parameters are obtained from the default config as far as the file context layer is concerned. All file system instances (i.e. deployments of file systems) have default properties; we call these server side (SS) defaults. Operation like create allow one to select many properties: either pass them in as explicit parameters or use the SS properties.

The file system related SS defaults are

*** Usage Model for the FileContext class ***

Example 1: use the default config read from the $HADOOP_CONFIG/core.xml. Unspecified values come from core-defaults.xml in the release jar.

Example 2: Get a FileContext with a specific URI as the default FS Example 3: FileContext with local file system as the default Example 4: Use a specific config, ignoring $HADOOP_CONFIG Generally you should not need use a config unless you are doing
  • org.eclipse.php.internal.core.typeinference.context.FileContext
    This is a context for PHP file (outside of classes or functions) @author michael
  • org.simpleframework.http.resource.FileContext
    The FileContext provides an implementation of the Context object that provides a direct mapping from a request URI as defined in RFC 2616 to an OS specific target. This uses a File object to define the mapping for the request URI paths. Using a File object allows the FileContext to be easily used with both DOS and UNIX systems.

    This Indexer implementation uses an MIME database to obtain mappings for the getContentType method. The file used is acquired from the class path as a mapping from file extension to MIME type. This file can be modified if any additional types are required. However it is more advisable to simple extend this object and override the content type method. @author Niall Gallagher @see org.simpleframework.http.resource.FileIndexer

  • org.uengine.contexts.FileContext
    @author Jinyoung Jang
  • simple.http.serve.FileContext

  • Examples of org.apache.hadoop.fs.FileContext

          //write the bytes to the file in the classpath
          OutputStream os = new FileOutputStream(new File(url.getPath()));
          os.write(bytesOut.toByteArray());
          os.close();
        }
        FileContext fsContext = FileContext.getLocalFSFileContext();
        fsContext
            .delete(
                new Path(conf
                    .get("yarn.timeline-service.leveldb-timeline-store.path")),
                true);
        try {
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

            yarnCluster.stop();
          } finally {
            yarnCluster = null;
          }
        }
        FileContext fsContext = FileContext.getLocalFSFileContext();
        fsContext
            .delete(
                new Path(conf
                    .get("yarn.timeline-service.leveldb-timeline-store.path")),
                true);
      }
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

        NameService spyNS = spyOnNameService();
        FileSystem fs = HATestUtil.configureFailoverFs(cluster, conf);
        String logicalHost = fs.getUri().getHost();
        Configuration haClientConf = fs.getConf();
       
        FileContext fc = FileContext.getFileContext(haClientConf);
        Path root = new Path("/");
        fc.listStatus(root);
        fc.listStatus(fc.makeQualified(root));
        fc.getDefaultFileSystem().getCanonicalServiceName();

        // Ensure that the logical hostname was never resolved.
        Mockito.verify(spyNS, Mockito.never()).lookupAllHostAddr(Mockito.eq(logicalHost));
      }
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

        private void writeCredentials(Path nmPrivateCTokensPath)
            throws IOException {
          DataOutputStream tokenOut = null;
          try {
            Credentials credentials = context.getCredentials();
            FileContext lfs = getLocalFileContext(getConfig());
            tokenOut =
                lfs.create(nmPrivateCTokensPath, EnumSet.of(CREATE, OVERWRITE));
            LOG.info("Writing credentials to the nmPrivate file "
                + nmPrivateCTokensPath.toString() + ". Credentials list: ");
            if (LOG.isDebugEnabled()) {
              for (Token<? extends TokenIdentifier> tk : credentials
                  .getAllTokens()) {
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

        this.publicRsrc = new LocalResourcesTrackerImpl(null, null, dispatcher,
            true, conf, stateStore);
        this.recordFactory = RecordFactoryProvider.getRecordFactory(conf);

        try {
          FileContext lfs = getLocalFileContext(conf);
          lfs.setUMask(new FsPermission((short)FsPermission.DEFAULT_UMASK));

          if (!stateStore.canRecover()) {
            cleanUpLocalDir(lfs,delService);
          }

          List<String> localDirs = dirsHandler.getLocalDirs();
          for (String localDir : localDirs) {
            // $local/usercache
            Path userDir = new Path(localDir, ContainerLocalizer.USERCACHE);
            lfs.mkdir(userDir, null, true);
            // $local/filecache
            Path fileDir = new Path(localDir, ContainerLocalizer.FILECACHE);
            lfs.mkdir(fileDir, null, true);
            // $local/nmPrivate
            Path sysDir = new Path(localDir, NM_PRIVATE_DIR);
            lfs.mkdir(sysDir, NM_PRIVATE_PERM, true);
          }

          List<String> logDirs = dirsHandler.getLogDirs();
          for (String logDir : logDirs) {
            lfs.mkdir(new Path(logDir), null, true);
          }
        } catch (IOException e) {
          throw new YarnRuntimeException("Failed to initialize LocalizationService", e);
        }
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

      private void downloadWithFileType(TEST_FILE_TYPE fileType) throws IOException,
          URISyntaxException, InterruptedException{
        Configuration conf = new Configuration();
        conf.set(CommonConfigurationKeys.FS_PERMISSIONS_UMASK_KEY, "077");
        FileContext files = FileContext.getLocalFSFileContext(conf);
        final Path basedir = files.makeQualified(new Path("target",
            TestFSDownload.class.getSimpleName()));
        files.mkdir(basedir, null, true);
        conf.setStrings(TestFSDownload.class.getName(), basedir.toString());

        Random rand = new Random();
        long sharedSeed = rand.nextLong();
        rand.setSeed(sharedSeed);
        System.out.println("SEED: " + sharedSeed);

        Map<LocalResource, Future<Path>> pending = new HashMap<LocalResource, Future<Path>>();
        ExecutorService exec = Executors.newSingleThreadExecutor();
        LocalDirAllocator dirs = new LocalDirAllocator(
            TestFSDownload.class.getName());

        int size = rand.nextInt(512) + 512;
        LocalResourceVisibility vis = LocalResourceVisibility.PRIVATE;

        Path p = new Path(basedir, "" + 1);
        LocalResource rsrc = null;
        switch (fileType) {
        case TAR:
          rsrc = createTarFile(files, p, size, rand, vis);
          break;
        case JAR:
          rsrc = createJarFile(files, p, size, rand, vis);
          rsrc.setType(LocalResourceType.PATTERN);
          break;
        case ZIP:
          rsrc = createZipFile(files, p, size, rand, vis);
          break;
        case TGZ:
          rsrc = createTgzFile(files, p, size, rand, vis);
          break;
        }
        Path destPath = dirs.getLocalPathForWrite(basedir.toString(), size, conf);
        destPath = new Path (destPath,
            Long.toString(uniqueNumberGenerator.incrementAndGet()));
        FSDownload fsd = new FSDownload(files,
            UserGroupInformation.getCurrentUser(), conf, destPath, rsrc);
        pending.put(rsrc, exec.submit(fsd));
        exec.shutdown();
        while (!exec.awaitTermination(1000, TimeUnit.MILLISECONDS));
        Assert.assertTrue(pending.get(rsrc).isDone());
       
        try {
          FileStatus[] filesstatus = files.getDefaultFileSystem().listStatus(
              basedir);
          for (FileStatus filestatus : filesstatus) {
            if (filestatus.isDirectory()) {
              FileStatus[] childFiles = files.getDefaultFileSystem().listStatus(
                  filestatus.getPath());
              for (FileStatus childfile : childFiles) {
                if (childfile.getPath().getName().startsWith("tmp")) {
                  Assert.fail("Tmp File should not have been there "
                      + childfile.getPath());
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

      }

      @Test (timeout=10000)
      public void testDirDownload() throws IOException, InterruptedException {
        Configuration conf = new Configuration();
        FileContext files = FileContext.getLocalFSFileContext(conf);
        final Path basedir = files.makeQualified(new Path("target",
          TestFSDownload.class.getSimpleName()));
        files.mkdir(basedir, null, true);
        conf.setStrings(TestFSDownload.class.getName(), basedir.toString());
       
        Map<LocalResource, LocalResourceVisibility> rsrcVis =
            new HashMap<LocalResource, LocalResourceVisibility>();
     
        Random rand = new Random();
        long sharedSeed = rand.nextLong();
        rand.setSeed(sharedSeed);
        System.out.println("SEED: " + sharedSeed);

        Map<LocalResource,Future<Path>> pending =
          new HashMap<LocalResource,Future<Path>>();
        ExecutorService exec = Executors.newSingleThreadExecutor();
        LocalDirAllocator dirs =
          new LocalDirAllocator(TestFSDownload.class.getName());
        for (int i = 0; i < 5; ++i) {
          LocalResourceVisibility vis = LocalResourceVisibility.PRIVATE;
          if (i%2 == 1) {
            vis = LocalResourceVisibility.APPLICATION;
          }

          Path p = new Path(basedir, "dir" + i + ".jar");
          LocalResource rsrc = createJar(files, p, vis);
          rsrcVis.put(rsrc, vis);
          Path destPath = dirs.getLocalPathForWrite(
              basedir.toString(), conf);
          destPath = new Path (destPath,
              Long.toString(uniqueNumberGenerator.incrementAndGet()));
          FSDownload fsd =
              new FSDownload(files, UserGroupInformation.getCurrentUser(), conf,
                  destPath, rsrc);
          pending.put(rsrc, exec.submit(fsd));
        }

        exec.shutdown();
        while (!exec.awaitTermination(1000, TimeUnit.MILLISECONDS));
        for (Future<Path> path: pending.values()) {
          Assert.assertTrue(path.isDone());
        }

        try {
         
          for (Map.Entry<LocalResource,Future<Path>> p : pending.entrySet()) {
            Path localized = p.getValue().get();
            FileStatus status = files.getFileStatus(localized);

            System.out.println("Testing path " + localized);
            assert(status.isDirectory());
            assert(rsrcVis.containsKey(p.getKey()));
           
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

      }

      @Test (timeout=10000)
      public void testUniqueDestinationPath() throws Exception {
        Configuration conf = new Configuration();
        FileContext files = FileContext.getLocalFSFileContext(conf);
        final Path basedir = files.makeQualified(new Path("target",
            TestFSDownload.class.getSimpleName()));
        files.mkdir(basedir, null, true);
        conf.setStrings(TestFSDownload.class.getName(), basedir.toString());

        ExecutorService singleThreadedExec = Executors.newSingleThreadExecutor();

        LocalDirAllocator dirs =
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

      private String appSubmitter = null;
      private LocalDirsHandlerService dirsHandler;

      @Before
      public void setup() throws Exception {
        FileContext files = FileContext.getLocalFSFileContext();
        Path workSpacePath = new Path(workSpace.getAbsolutePath());
        files.mkdir(workSpacePath, null, true);
        FileUtil.chmod(workSpace.getAbsolutePath(), "777");
        File localDir = new File(workSpace.getAbsoluteFile(), "localDir");
        files.mkdir(new Path(localDir.getAbsolutePath()),
            new FsPermission("777"), false);
        File logDir = new File(workSpace.getAbsoluteFile(), "logDir");
        files.mkdir(new Path(logDir.getAbsolutePath()),
            new FsPermission("777"), false);
        String exec_path = System.getProperty("container-executor.path");
        if(exec_path != null && !exec_path.isEmpty()) {
          Configuration conf = new Configuration(false);
          LOG.info("Setting "+YarnConfiguration.NM_LINUX_CONTAINER_EXECUTOR_PATH
    View Full Code Here

    Examples of org.apache.hadoop.fs.FileContext

        TAR, JAR, ZIP, TGZ
      };
     
      @AfterClass
      public static void deleteTestDir() throws IOException {
        FileContext fs = FileContext.getLocalFSFileContext();
        fs.delete(new Path("target", TestFSDownload.class.getSimpleName()), true);
      }
    View Full Code Here
    TOP
    Copyright © 2018 www.massapi.com. All rights reserved.
    All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.