• java使用ssh远程操作linux 提交spark jar


    maven依赖
    <!--Java ssh-2 -->
    <dependency>
    <groupId>ch.ethz.ganymed</groupId>
    <artifactId>ganymed-ssh2</artifactId>
    <version>262</version>
    </dependency>

    import
    ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; public class RemoteShellTool { private Connection conn; private String ipAddr; private String charset = Charset.defaultCharset().toString(); private String userName; private String password; public RemoteShellTool( String ipAddr, String userName, String password, String charset) { this.ipAddr = ipAddr; this.userName = userName; this.password = password; if(charset !=null){ this.charset = charset; } } public boolean login() throws IOException { conn = new Connection(ipAddr); //连接 conn.connect(); //认证 return conn.authenticateWithPassword(userName,password); } public String exec(String cmds) { InputStream in = null; String result = ""; try { if(this.login()){ //打开一个会话 Session session = conn.openSession(); session.execCommand(cmds); in = session.getStdout(); result = this.processStdout(in,this.charset); conn.close(); } } catch (IOException e) { e.printStackTrace(); } return result; } public String processStdout(InputStream in, String charset) { byte[] buffer = new byte[1024]; StringBuffer sb = new StringBuffer(); try { while (in.read(buffer)!=-1){ sb.append(new String(buffer,charset)); } } catch (IOException e) { e.printStackTrace(); } return sb.toString(); } public static void main(String[] args) {
    //将jar包命名为task任务,根据传入taskid 找到对应的jar包 调用接口提交
    // args[0]="{1}"; RemoteShellTool rst = new RemoteShellTool("bigdata.server1","hejunhong","123456","utf-8"); System.out.println(rst.exec("/opt/cdh5/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start datanode")); System.out.println(rst.exec("ls /opt/cdh5/")); //String submit="/opt/cdh5/spark-2.2.1-bin-2.6.0-cdh5.14.2/bin/spark-submit --master yarn --deloy-modle cluster" + // "--class spark.jar hdfs:// "+args[0]+ " --conf spark.ssss:20"; } }
  • 相关阅读:
    在主窗体中打开一个新子窗体,如果已有子窗体,则激活它,而不打开新的。
    文本的追加
    男人至少的品质底线
    做人,做事,生活,学习,爱情>人生
    日常中一些好用的小软件
    ◆2008 年广告创意设计师必备网址汇总◆
    在SharePoint中更改当前登录用户的密码
    SONY笔记本VGNSZ65装VISTA记
    Outlook收邮件速度超慢的原因
    Cisco路由器做限速
  • 原文地址:https://www.cnblogs.com/hejunhong/p/10343513.html
Copyright © 2020-2023  润新知