java操作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";
    }
}

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

时间: 2024-08-30 11:11:07

java操作linux 提交spark jar的相关文章

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.S

利用SparkLauncher 类以JAVA API 编程的方式提交Spark job

一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz java-version:jdk1.8.0_151 集群环境:单机伪分布式环境. 二.适用背景 在学习Spark过程中,资料中介绍的提交Spark Job的方式主要有两种(我所知道的):第一种是通过命令行的方式提交Job,使用spark 自带的spark-submit工具提交,官网和大多数参考资料都是已这

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html https://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html https://www.cnblogs.com/qdwyg2013/p/5650764.html#top 引入jar包的maven依赖如下所示:

Windows/Linux下引用jar包,并用javac/java编译运行

Windows/Linux下引用jar包,并用javac/java编译运行,有需要的朋友可以参考下. 1> Windows 假设要引用的jar放在D:/test目录下,名字为t1.jar, java源文件放在D:/test/src目录下,名字为t2.java. 编译: javac -cp d:/test/t1.jar d:/test/src/t2.java 运行: java -cp d:/test/t1.jar;d:/test/src t2 注意,分号后面没有空格,否则报错. 需要注意的是,如果

JAVA操作JSON格式数据

由于近些日子公司在弄微信项目,而微信官方API所提供的接口当中,有些需要以POST方式进行请求,且数据传输格式要求为JSON格式数据,之前没怎么研究过,而且传递的数据格式相对也比较简单,所以直接都是采用的字符串拼接的方式进行组装的,之后再用String.format格式化一下就好了. //需要提交的json数据 String jsonData = "{\"openid\":\"%s\",\"to_groupid\":%d}";

java操作spark1.2.0

虽然推荐的是scala,但是还是试一下 1 package org.admln.java7OperateSpark; 2 3 import java.util.Arrays; 4 import java.util.List; 5 import java.util.regex.Pattern; 6 7 import org.apache.spark.SparkConf; 8 import org.apache.spark.api.java.JavaPairRDD; 9 import org.apa

【甘道夫】Java Hello World on Spark

引言 通过Java编写Spark应用程序的HelloWorld,虽然有点寒碜,没用Scala简洁明了,但还是得尝试和记录下. 环境 Windows7 Eclipse+Maven Jdk1.7 Ubuntu 14.04 步骤一:在eclipse中创建maven工程,过程很简单,不详述. pom文件为: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X

JDBC——java操作数据库的一系列接口

一.JDBC概述(mysql) 1.Java DataBase Connective 1)概念:JDBC其实就是一套Java操作数据库的规范(接口); 2)数据库驱动: 各个数据库厂商要让java语言去操作数据库就必须实现这套接口,每个数据库都写有一套实现类叫数据库驱动. 3)使用: //导入mysql数据库jar包 //将jar放在lib目录下 右键add--->builderpath //加载驱动 Class.forName("com.mysql.jdbc.Driver");

Java操作HDFS开发环境搭建以及HDFS的读写流程

Java操作HDFS开发环境搭建 在之前我们已经介绍了如何在Linux上进行HDFS伪分布式环境的搭建,也介绍了hdfs中一些常用的命令.但是要如何在代码层面进行操作呢?这是本节将要介绍的内容: 1.首先使用IDEA创建一个maven工程: maven默认是不支持cdh的仓库的,需要在pom.xml中配置cdh的仓库,如下: <repositories> <repository> <id>cloudera</id> <url>https://re