查看hadoop 是否运行
2014-09-16 16:26
141 查看
执行工具类 ExecCMD:
主要判断其进程:jps
hadoop : NameNode DataNode
hbase : HMaster
hive : RunJar
package com.winhong.test.util;<p>import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List;</p><p>import org.json.JSONException; import org.json.JSONObject;</p><p>/** * @author kuanghj| 下午4:16:21 | 创建 */ public class ExecCMD { /** * 检查服务实例是否在运行 * * @param param * @return * @throws JSONException */ public static boolean isCheckRun(String param, JSONObject temp) throws JSONException { List<String> strlst = new ArrayList<String>(); boolean isRun = false; try {</p><p> Process process = null;</p><p> String[] cmdArray = new String[]{"/bin/sh", "-c", "ssh " + temp.getString("hostIP") + " \"ps -ef | grep " + param + "\""}; System.out.println(cmdArray[2]); process = Runtime.getRuntime().exec(cmdArray);</p><p> InputStream is = process.getInputStream();</p><p> InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { strlst.add(line); if (line.contains(param + " start")) { isRun = true; } } is.close(); isr.close(); return isRun; } catch (IOException e) { e.printStackTrace(); }</p><p> return isRun; } /** * 监控Hbase的数据,返回监控结果 * * @param * @return */ public static List<String> monitorHbase(JSONObject temp) throws JSONException { List<String> strList = new ArrayList<String>();</p><p> try { boolean isStart = isCheckRun("HMaster", temp); if (isStart) { // ssh 192.168.1.61 "echo \"status 'simple'\" | /home/hadmin/hbase/bin/hbase shell" Process process = null;</p><p> String cmd = "echo <a>\\\"status</a> 'simple'\\\""; String ip = temp.getString("hostIP"); String appPath = temp.getString("installPath"); String[] cmdArray = new String[]{"/bin/sh", "-c", "ssh " + ip + " \"" + cmd + " | " + appPath + "/bin/hbase shell\""}; process = Runtime.getRuntime().exec(cmdArray);</p><p> InputStream is = process.getInputStream();</p><p> InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { strList.add(line); } is.close(); isr.close(); }</p><p> return strList; } catch (IOException e) { e.printStackTrace(); }</p><p> return strList; } /** * 取得用户占用空间 * @param temp * @return * @author kuanghj |下午4:20:58 * @version 0.1 */ public static String getStroageData(JSONObject temp) throws JSONException { List<String> strlst = new ArrayList<String>(); String home = temp.getString("home"); String value = ""; try {</p><p> Process process = null;</p><p> String[] cmdArray = new String[]{"/bin/sh", "-c", "hadoop fs -du " + home}; process = Runtime.getRuntime().exec(cmdArray);</p><p> InputStream is = process.getInputStream();</p><p> InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { strlst.add(line); if (line.contains(home)) { value = line; break; } } is.close(); isr.close(); } catch (IOException e) { e.printStackTrace(); }</p><p> return value;</p><p> } /** * 取到当前时间 格试为 yyyyMMddHHmmssSSS * * @return */ public static String getCurrtime() { Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String currTime = format.format(date);</p><p> return currTime; } } </p>
相关文章推荐
- 如何查看进程是否在运行
- C访问hadoop程序终端显示运行正确,因为连接参数错误,使得通过网页查看就是没有成功原因分析和解决方案
- Hadoop JobTracker和NameNode运行时参数查看
- 如何查看hadoop集群是否安装成功(用jps命令和实例进行验证)
- linux查看指定程序是否运行及关闭
- 查看当前时程中是否有应用程序运行
- hadoop2.X使用手册1:通过web端口查看主节点、slave1节点及集群运行状态
- 如何编写一个shell脚本查看某个进程是否在运行
- Win10下怎么查看电脑配置以此来判断是否支持运行一些游戏
- sqlserver 消息 682,: 内部错误。提供用于读取列值的缓冲区太小。请运行 DBCC CHECKDB 查看是否有损坏情况 的处理方法
- Yii 查看系统当前配置是否满足Yii运行条件
- linux下查看CPU个数、核数、运行模式以及是否支持超线程技术
- dos命令运行sqlite3查看android中的sqlite文件是否有数据
- 用web查看hadoop运行状态
- Hadoop,Hbase启动及用web查看hadoop运行状态
- job check running查看当期那JOB是否正在运行
- 如何查看dock 中的程序是否在运行
- hadoop学习;hdfs操作;运行抛出权限异常: Permission denied;api查看源码方法;源码不停的向里循环;抽象类通过debug查找源码
- 查看nxinx是否在运行
- 查看tidal job中调用的sp是否真的在运行