Java tutorial
/** * Copyright (C) [2013] [Anjuke Inc] * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.hadoop.hive.hwi.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.ql.session.SessionState; public class HadoopUtil { protected static final Log l4j = LogFactory.getLog(HadoopUtil.class.getName()); public static String getJobTrackerURL(String jobid) { HiveConf conf = new HiveConf(SessionState.class); String jt = conf.get("mapred.job.tracker"); String jth = conf.get("mapred.job.tracker.http.address"); String[] jtparts = null; String[] jthttpParts = null; if (jt.equalsIgnoreCase("local")) { jtparts = new String[2]; jtparts[0] = "local"; jtparts[1] = ""; } else { jtparts = jt.split(":"); } if (jth.contains(":")) { jthttpParts = jth.split(":"); } else { jthttpParts = new String[2]; jthttpParts[0] = jth; jthttpParts[1] = ""; } return "http://" + jtparts[0] + ":" + jthttpParts[1] + "/jobdetails.jsp?jobid=" + jobid + "&refresh=30"; } /* * incorrect, datanode can't be random */ public static String getDataNodeURL(String path) { Configuration conf = new Configuration(); conf.addResource("hdfs-default.xml"); conf.addResource("hdfs-site.xml"); String nnHttp = conf.get("dfs.http.address"); String dnHttp = conf.get("dfs.datanode.http.address"); String host = ""; try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); BufferedReader in = new BufferedReader( new InputStreamReader(classLoader.getResource("slaves").openStream())); host = in.readLine(); } catch (IOException e) { e.printStackTrace(); l4j.error(e.getMessage()); } String nnPort = ""; if (nnHttp.contains(":")) { nnPort = nnHttp.split(":")[1]; } String dnPort = ""; if (dnHttp.contains(":")) { dnPort = dnHttp.split(":")[1]; } return "http://" + host + ":" + dnPort + "/browseDirectory.jsp?namenodeInfoPort=" + nnPort + "&dir=" + path; } }