码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-01-31 20:55:42      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:bin   hdfs   class   pass   bool   yarn   use   std   name   

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"; } }

 

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

标签:bin   hdfs   class   pass   bool   yarn   use   std   name   

原文地址:https://www.cnblogs.com/hejunhong/p/10343513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!