Автоматическая загрузка конфигурации HDFS на основе HADOOP_HOME? - PullRequest
3 голосов
/ 09 февраля 2012

Я работаю над Java-программой для взаимодействия с уже работающим кластером hadoop. Программа передала HADOOP_HOME в качестве переменной среды.

Исходя из этого значения, мне нужно загрузить все необходимые ресурсы конфигурации, прежде чем я начну взаимодействовать с HDFS / MapReduce. Файлы, которые мне нужны, основаны на документации apache . Мое текущее решение выглядит так:

final String HADOOP_HOME = System.getEnv("HADOOP_HOME");
Configuration conf = new Configuration();

conf.addResource(new Path(HADOOP_HOME, "src/core/core-default.xml"));
conf.addResource(new Path(HADOOP_HOME, "src/hdfs/hdfs-default.xml"));
conf.addResource(new Path(HADOOP_HOME, "src/mapred/mapred-default.xml"));
conf.addResource(new Path(HADOOP_HOME, "conf/core-site.xml"));
conf.addResource(new Path(HADOOP_HOME, "conf/hdfs-site.xml"));
conf.addResource(new Path(HADOOP_HOME, "conf/mapred-site.xml"));

FileSystem hdfs = new FileSystem(conf);

Есть ли более чистый способ сделать это? Надеемся, что это не связано с явной настройкой каждого ресурса?

1 Ответ

3 голосов
/ 09 февраля 2012

Вы запускаете свою банку, используя hadoop jar <your-jar>.Это настраивает все автоматически.

...