@Override protected void setUp() throws IOException, InterruptedException { // Prepare the tests' root dir File TEST_ROOT = new File(TEST_ROOT_DIR); if (!TEST_ROOT.exists()) { TEST_ROOT.mkdirs(); } // Prepare the tests' mapred-local-dir ROOT_MAPRED_LOCAL_DIR = new File(TEST_ROOT_DIR, "mapred/local"); ROOT_MAPRED_LOCAL_DIR.mkdirs(); String[] localDirs = new String[numLocalDirs]; for (int i = 0; i < numLocalDirs; i++) { File localDir = new File(ROOT_MAPRED_LOCAL_DIR, "0_" + i); localDirs[i] = localDir.getPath(); localDir.mkdir(); } conf = new Configuration(); conf.setStrings("mapred.local.dir", localDirs); conf.set(FileSystem.FS_DEFAULT_NAME_KEY, "file:///"); fs = FileSystem.get(conf); Class<? extends TaskController> taskControllerClass = conf.getClass( "mapred.task.tracker.task-controller", DefaultTaskController.class, TaskController.class); taskController = (TaskController) ReflectionUtils.newInstance(taskControllerClass, conf); // setup permissions for mapred local dir taskController.setup(localDirAllocator); // Create the temporary cache files to be used in the tests. firstCacheFile = new Path(TEST_ROOT_DIR, "firstcachefile"); secondCacheFile = new Path(TEST_ROOT_DIR, "secondcachefile"); firstCacheFilePublic = new Path(TEST_ROOT_DIR, "firstcachefileOne"); secondCacheFilePublic = new Path(TEST_ROOT_DIR, "secondcachefileOne"); createPublicTempFile(firstCacheFilePublic); createPublicTempFile(secondCacheFilePublic); createPrivateTempFile(firstCacheFile); createPrivateTempFile(secondCacheFile); }
protected void refreshConf(Configuration conf) throws IOException { taskController.setConf(conf); taskController.setup(localDirAllocator); }