Updated on 2022-09-14 GMT+08:00

Initializing Alluxio

Function Description

Before using APIs provided by Alluxio, you need to initialize Alluxio. The process is as follows:

  1. Load the HDFS service configuration file.
  2. Instantiate Filesystem.
  3. Use HDFS APIs.

Sample Code

The following provides code snippets. For complete codes, see the ExampleClient class.

/**
* load configurations from alluxio-site.properties
* @throws IOException
*/
private void loadConf() throws IOException {
	InputStream fileInputStream = null;
	alluxioConf = new Properties();
	File propertiesFile = new File(PATH_TO_ALLUXIO_SITE_PROPERTIES);
	try {
		fileInputStream = new FileInputStream(propertiesFile);
		alluxioConf.load(fileInputStream);
	}
	catch (FileNotFoundException e) {
		System.out.println(PATH_TO_ALLUXIO_SITE_PROPERTIES + "does not exist. Exception: " + e);
	}
	catch (IOException e) {
		System.out.println("Failed to load configuration file. Exception: " + e);
	}
	finally{
		close(fileInputStream);
	}
}

/**
* build Alluxio instance
*/
private void instanceBuild() throws IOException {
// get filesystem
	InstancedConfiguration conf = new InstancedConfiguration(ConfigurationUtils.defaults());
	conf.set(PropertyKey.MASTER_RPC_ADDRESSES, alluxioConf.get("alluxio.master.rpc.addresses"));
	FileSystemContext fsContext = FileSystemContext.create(conf);
	fSystem = FileSystem.Factory.create(fsContext);
}