apache / incubator-uniffle

Uniffle is a high performance, general purpose Remote Shuffle Service.
https://uniffle.apache.org/
Apache License 2.0
387 stars 149 forks source link

[FEATURE] Client send sparkConf through registerApplicationInfo rpc to Coordinator #1984

Open maobaolong opened 3 months ago

maobaolong commented 3 months ago

Code of Conduct

Search before asking

Describe the feature

We can let client send sparkConf to coordinator to show more context information about this application.

Motivation

Insight and know what application are running and being served by RSS cluster.

Describe the solution

  1. Create a util method like this.
  public static Map<String, String> sparkConfToMap(SparkConf sparkConf) {
    Map<String, String> map = new HashMap<>();

    for (Tuple2<String, String> tuple : sparkConf.getAll()) {
      String key = tuple._1;
      map.put(key, tuple._2);
    }

    return map;
  }
  1. Extends the ApplicationInfoRequest
    message ApplicationInfoRequest {
    string appId = 1;
    string user = 2;
    // new added
    map<string, string> properties = 3;
    }
  2. Other efforts related, finally display a column conf within application page.

Additional context

No response

Are you willing to submit PR?

jerqi commented 3 months ago

Application information should be displayed in the Spark history server.

maobaolong commented 3 months ago

@jerqi Sorry for that I do not explain more about the motivation.

If I have sparkConf, I can get these information by

usp.param=20240315170727772_20240726000000
spark.app.name=livy-session-23219-decb9ee5-a499-469a-b8ed-e23605e8efbf
spark.livy.supersql.session_id=decb9ee5-a499-469a-b8ed-e23605e8efbf
spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_URI_BASES=http://xxxx/xxx

Base on these, we can get more context and know well about this job, we could dig the reason of failure or under performance.

Besides, we can get more useful information to help us for issue defeat.