Я смонтировал hadoop в режиме кластера, если я выполняю следующий код
public class Servidores {
public Servidores() {
// TODO Auto-generated constructor stub
}
public String[] getActiveServersList(JobContext context){
String [] servers = null;
try {
JobClient jc = new JobClient((JobConf)context.getConfiguration());
ClusterStatus status = jc.getClusterStatus(true);
Collection<String> atc = status.getActiveTrackerNames();
int n=status.getTaskTrackers();
servers = new String[atc.size()];
int s = 0;
for(String serverInfo : atc){
StringTokenizer st = new StringTokenizer(serverInfo, ":");
String trackerName = st.nextToken();
StringTokenizer st1 = new StringTokenizer(trackerName, "_");
st1.nextToken();
servers[s++] = st1.nextToken();
}
} catch (IOException e) {
e.printStackTrace();
}
return servers;
}
public static int getNextServer(int current, int max){
current++;
if(current >= max)
current = 0;
return current;
}
}
String [] getActiveServersList через cmd Linux Я получаю имена узлов:
Hadoop-Mac
Серверы Hadoop-M2n
но если я выполню или отладлю его в затмении, он скажет мне, что у меня нет сервера
Я использую Eclipse Oxigen, Proyect Maven и плагин Hadoop, установленный в Eclipse
public class Configuracion {
protected Configuration conf;
protected FileSystem fs;
public Configuracion()
{
conf=new Configuration();
conf.set("io.serializations","org.apache.hadoop.io.serializer.JavaSerialization,"
+ "org.apache.hadoop.io.serializer.WritableSerialization");
conf.set("fs.default.name", "hdfs://hadoop-master:9000");
try {
this.fs=FileSystem.get(conf);
} catch (IOException e) {
e.printStackTrace();
}
}
}
это может быть какой-то параметр конфигурации плагина eclipse hadoop?