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";
}
}
java使用ssh远程操作linux 提交spark jar的更多相关文章
- java操作linux 提交spark jar
maven依赖 <!--Java ssh-2 --><dependency> <groupId>ch.ethz.ganymed</groupId> &l ...
- Linux SSH 远程操作与传送文件
操作系统:centos 6.5 x64 一.远程连接:在进行linux 的 ssh远程操作前,一定要确认linux 是否安装了 openssh-clients,为了方便起见,一般用yum安装即可:# ...
- java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息
1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...
- 【浅层优化实战】ssh远程登录Linux卡慢的全过程排查及解决方案
ssh远程登录Linux卡慢的全过程排查及解决方案 前言: 在linux操作系统使用过程中偶然一次感到使用ssh远程连接软件连接操作系统需要等待许久,第一次没在意,第二次也没在意,第三次有点忍受不住了 ...
- ssh远程登录linux服务器
ssh远程登录linux服务器 用法: ssh -l user -p port server_ip 或者 ssh -p port user@server_ip 参数: -l 后接要登录的远程系统用户名 ...
- 虚拟机VMware网络类型&&SSH远程连接Linux
前言: Linux专题是16年11月开始写,说来惭愧,已经5个月没学Linux,至今感觉连入门还没达到.暑假实习有投运维开发岗位,无奈对Linux不熟悉,校招简历也被刷了.so, 我打算先花1个月内的 ...
- 在windows上通过ssh远程链接linux服务器[转]
本文分别转自 [http://jingyan.baidu.com/article/6d704a130de40e28db51cab5.html] [http://www.cnblogs.com/mliu ...
- 利用java实现可远程执行linux命令的小工具
在linux的脚本中,如果不对机器做其他的处理,不能实现在linux的机器上执行命令.为了解决这个问题,写了个小工具来解决这个问题. 后面的代码是利用java实现的可远程执行linux命令的小工具,代 ...
- Windows通过SSH远程登录Linux主机
准备工作:1.Windows系统下装有VMware虚拟机且是Linux系统2.终端连接工具Xshell 63.本次实验系统IP如下 系统 IP Windows10 192.168.37.111 Cen ...
随机推荐
- ORACLE安装入门篇OEL5.4安装ORACLE11g
一.安装ORACLE11g软件(11.2.0.0) (一)安装前的包支持 1.检测yum仓库是否已经配置好 yum list all 2.搭建yum仓库 1).挂载所需要的安装光盘 虚拟机挂载光盘: ...
- windows media player 官方修复工具下载及修复方法
http://download.microsoft.com/download/E/2/3/E237A32D-E0A9-4863-B864-9E820C1C6F9A/MicrosoftFixit.Win ...
- Centos7限速和测速
限速 wondershaper是国外人开发的一款在Linux内核下基于TC工具的对整块网卡的限度工具. 第一种安装方法 首先下载wondershaper的rpm安装包:wondershaper-1.1 ...
- sap 查看自己代码的结构
1:进入系统X3C:然后输入T-CODE bsp_wd_cmpwb
- Linux文本编辑器之vim
VIM 文本编辑器 vim/vi是Unix/Linux上最常用的文本编辑器而且功能强大.注意:只有命令,没有菜单 VIM工作模式 命令模式:又称为一般模式 编辑模式:又称为低行模式,命令行模式 插入命 ...
- 通过socket实现http通讯代码理解
1.首先构造http协议报头: String dd = "GET http://www.baidu.com HTTP/1.1" + "\r\n" + " ...
- [LeetCode] 74. Search a 2D Matrix_Medium tag: Binary Search
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- js图的数据结构处理----普里姆算法
//求加权无向连通图的MST的贪心算法 //最小树,最小路径联通各个点 function PRIM(){ var graph = [ [], [undefined,Infinity, 23 ,Infi ...
- CentOS下用yum命令安装jdk【转】
一.使用yum命令安装 1.查看是否已安装JDK,卸载 [root@192 ~]# yum list installed |grep java java-1.8.0-openjdk.x86_64 ...
- Cocos Creator 音频API控制调频
*****音频的一些控制***** cc.audioEngine.playMusic(this.BGAudio,true);//播放音乐(true代表循环) cc.audioEngine.stopMu ...