use of org.apache.twill.filesystem.FileContextLocationFactory in project cdap by caskdata.
the class DFSTimePartitionedStreamTest method init.
@BeforeClass
public static void init() throws IOException {
Configuration conf = new Configuration();
conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, tmpFolder.newFolder().getAbsolutePath());
dfsCluster = new MiniDFSCluster.Builder(conf).numDataNodes(1).build();
dfsCluster.waitClusterUp();
locationFactory = new FileContextLocationFactory(dfsCluster.getFileSystem().getConf());
}
use of org.apache.twill.filesystem.FileContextLocationFactory in project cdap by caskdata.
the class LocationsTest method absolutePathTests.
@Test
public void absolutePathTests() throws IOException {
// Test HDFS:
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://1.2.3.4:8020/");
LocationFactory locationFactory = new FileContextLocationFactory(conf, TEST_BASE_PATH);
Location location1 = locationFactory.create(TEST_PATH);
Location location2 = Locations.getLocationFromAbsolutePath(locationFactory, location1.toURI().getPath());
Assert.assertEquals(location1.toURI(), location2.toURI());
// Test file:
conf = new Configuration();
conf.set("fs.defaultFS", "file:///");
locationFactory = new FileContextLocationFactory(conf, TEST_BASE_PATH);
location1 = locationFactory.create(TEST_PATH);
location2 = Locations.getLocationFromAbsolutePath(locationFactory, location1.toURI().getPath());
Assert.assertEquals(location1.toURI(), location2.toURI());
// Test LocalLocation
locationFactory = new LocalLocationFactory(new File(TEST_BASE_PATH));
location1 = locationFactory.create(TEST_PATH);
location2 = Locations.getLocationFromAbsolutePath(locationFactory, location1.toURI().getPath());
Assert.assertEquals(location1.toURI(), location2.toURI());
}
use of org.apache.twill.filesystem.FileContextLocationFactory in project cdap by caskdata.
the class DFSConcurrentStreamWriterTest method init.
@BeforeClass
public static void init() throws IOException {
Configuration hConf = new Configuration();
hConf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, TMP_FOLDER.newFolder().getAbsolutePath());
dfsCluster = new MiniDFSCluster.Builder(hConf).numDataNodes(1).build();
dfsCluster.waitClusterUp();
LocationFactory locationFactory = new FileContextLocationFactory(dfsCluster.getFileSystem().getConf());
namespacedLocationFactory = new NamespacedLocationFactoryTestClient(CConfiguration.create(), locationFactory);
}
use of org.apache.twill.filesystem.FileContextLocationFactory in project cdap by caskdata.
the class CoprocessorBuildTool method main.
public static void main(final String[] args) throws ParseException {
Options options = new Options().addOption(new Option("h", "help", false, "Print this usage message.")).addOption(new Option("f", "force", false, "Overwrites any coprocessors that already exist."));
CommandLineParser parser = new BasicParser();
CommandLine commandLine = parser.parse(options, args);
String[] commandArgs = commandLine.getArgs();
// if help is an option, or if there isn't a single 'ensure' command, print usage and exit.
if (commandLine.hasOption("h") || commandArgs.length != 1 || !"check".equalsIgnoreCase(commandArgs[0])) {
HelpFormatter helpFormatter = new HelpFormatter();
helpFormatter.printHelp(CoprocessorBuildTool.class.getName() + " check", "Checks that HBase coprocessors required by CDAP are loaded onto HDFS. " + "If not, the coprocessors are built and placed on HDFS.", options, "");
System.exit(0);
}
boolean overwrite = commandLine.hasOption("f");
CConfiguration cConf = CConfiguration.create();
Configuration hConf = HBaseConfiguration.create();
Injector injector = Guice.createInjector(new ConfigModule(cConf, hConf), // for LocationFactory
new PrivateModule() {
@Override
protected void configure() {
bind(FileContext.class).toProvider(FileContextProvider.class).in(Scopes.SINGLETON);
expose(LocationFactory.class);
}
@Provides
@Singleton
private LocationFactory providesLocationFactory(Configuration hConf, CConfiguration cConf, FileContext fc) {
final String namespace = cConf.get(Constants.CFG_HDFS_NAMESPACE);
if (UserGroupInformation.isSecurityEnabled()) {
return new FileContextLocationFactory(hConf, namespace);
}
return new InsecureFileContextLocationFactory(hConf, namespace, fc);
}
});
try {
SecurityUtil.loginForMasterService(cConf);
} catch (Exception e) {
LOG.error("Failed to login as CDAP user", e);
System.exit(1);
}
LocationFactory locationFactory = injector.getInstance(LocationFactory.class);
HBaseTableUtil tableUtil = new HBaseTableUtilFactory(cConf).get();
CoprocessorManager coprocessorManager = new CoprocessorManager(cConf, locationFactory, tableUtil);
try {
Location location = coprocessorManager.ensureCoprocessorExists(overwrite);
LOG.info("coprocessor exists at {}.", location);
} catch (IOException e) {
LOG.error("Unable to build and upload coprocessor jars.", e);
System.exit(1);
}
}
use of org.apache.twill.filesystem.FileContextLocationFactory in project cdap by caskdata.
the class DFSSeekableInputStreamTest method init.
@BeforeClass
public static void init() throws IOException {
Configuration hConf = new Configuration();
hConf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, TMP_FOLDER.newFolder().getAbsolutePath());
dfsCluster = new MiniDFSCluster.Builder(hConf).numDataNodes(1).build();
dfsCluster.waitClusterUp();
locationFactory = new FileContextLocationFactory(dfsCluster.getFileSystem().getConf());
}
Aggregations