Spark Standalone模式application的状态有哪些
时间: 2024-06-03 18:12:14 浏览: 181
在Spark Standalone模式下,application的状态可以分为以下几种:
1. RUNNING:表示application正在运行中;
2. FINISHED:表示application已经执行完成;
3. FAILED:表示application执行失败;
4. KILLED:表示application被终止;
5. SUBMITTED:表示application已经被提交但是还没有被调度;
6. UNKNOWN:表示application状态未知或无法获取。
可以使用Spark自带的web界面查看application的状态,具体路径为http://<master-node>:8080,其中<master-node>是Spark Standalone模式下的Master节点地址。
相关问题
Spark Standalone模式如何通过java查询Completed Applications
可以使用Spark的REST API来查询Completed Applications。以下是一些步骤:
1. 首先,确保你的Spark集群已经开启了REST API。你可以在Spark的配置文件中设置`spark.master.rest.enabled`为`true`,并在Spark启动脚本中添加`--conf spark.master.rest.enabled=true`。
2. 然后,可以使用Java中的HttpURLConnection或者第三方库如Apache HttpClient来发送HTTP请求。以下是使用HttpURLConnection的示例代码:
```java
URL url = new URL("http://<spark-master>:8080/api/v1/applications/?status=completed");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
String output;
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
```
注意,需要将`<spark-master>`替换为你的Spark Master节点的hostname或者IP地址。
3. 最后,解析返回的JSON数据即可获取Completed Applications的相关信息。
spark 提交指定集群模式
在 Spark 中,可以通过 `--deploy-mode` 参数来指定要使用的集群模式。
1. 在 Standalone 模式下提交应用程序:
```bash
./bin/spark-submit --class <main-class> --master spark://<master-url> --deploy-mode <deploy-mode> <application-jar> [<application-arguments>]
```
其中,`<deploy-mode>` 可以是 `client` 或 `cluster`。默认情况下,使用 `client` 模式。
2. 在 YARN 模式下提交应用程序:
```bash
./bin/spark-submit --class <main-class> --master yarn --deploy-mode <deploy-mode> <application-jar> [<application-arguments>]
```
其中,`<deploy-mode>` 可以是 `client` 或 `cluster`。默认情况下,使用 `client` 模式。
3. 在 Mesos 模式下提交应用程序:
```bash
./bin/spark-submit --class <main-class> --master mesos://<master-url> --deploy-mode <deploy-mode> <application-jar> [<application-arguments>]
```
其中,`<deploy-mode>` 可以是 `client` 或 `cluster`。默认情况下,使用 `client` 模式。
阅读全文