This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev
in repository 
https://gitbox.apache.org/repos/asf/incubator-streampark-website.git


The following commit(s) were added to refs/heads/dev by this push:
     new 4f29e651 [Issue-2470][Feature][subtask] Add the documentation page 
about yarn queue management. (#196)
4f29e651 is described below

commit 4f29e651d78e47ae64ae798b38770ffedc36b7aa
Author: Roc Marshal <[email protected]>
AuthorDate: Thu Apr 13 21:58:18 2023 +0800

    [Issue-2470][Feature][subtask] Add the documentation page about yarn queue 
management. (#196)
---
 docs/user-guide/8-YarnQueueManagement.md           | 107 +++++++++++++++++++++
 .../available_queues_when_creating_application.png | Bin 0 -> 381753 bytes
 .../available_queues_when_creating_cluster.png     | Bin 0 -> 453549 bytes
 static/doc/image/yarn-queue/existed_queues.png     | Bin 0 -> 411339 bytes
 static/doc/image/yarn-queue/flow_to_create.png     | Bin 0 -> 384270 bytes
 .../yarn-queue/flow_to_type_in_pure_queue.png      | Bin 0 -> 392799 bytes
 .../flow_to_type_in_pure_queue_labels.png          | Bin 0 -> 395438 bytes
 .../use_yarn_app_mode_to_create_application.png    | Bin 0 -> 451721 bytes
 ...use_yarn_session_mode_to_create_application.png | Bin 0 -> 344748 bytes
 9 files changed, 107 insertions(+)

diff --git a/docs/user-guide/8-YarnQueueManagement.md 
b/docs/user-guide/8-YarnQueueManagement.md
new file mode 100644
index 00000000..5dcf6bd5
--- /dev/null
+++ b/docs/user-guide/8-YarnQueueManagement.md
@@ -0,0 +1,107 @@
+---
+id: 'YarnQueueManagement'
+title: 'Yarn Queue Management'
+sidebar_position: 8
+---
+
+## Background
+In the actual production environment for the `Yarn Deployment Mode`, 
+users often need to type in `queue` or `queue`&`labels` to specify 
+the configuration for the `yarn-application` mode flink applications
+or the `yarn-session` mode flink clusters.
+During this process, manual input by users may cause errors, 
+which may result in specified non-existed queues or the `flink 
application`/`flink cluster` 
+being submitted to the wrong queues.
+
+If the yarn cluster doesn't include users specified queues,
+the deployment process of `flink applications`/`flink clusters` 
+will be time-consuming and accompanied by poor user experience. 
+If a task is submitted to an incorrect queue due to the error-input, 
+it's likely to affect the stability of yarn applications on the queue and the 
abuse of the queue resource.
+
+So StreamPark introduced the queue management feature to ensure that a set of 
added queues are shared within the same team, 
+that is, ensure that queues resource is isolated within the scope of the team. 
It can generate the following benefits:
+- When deploying Flink `yarn-application` applications or Flink `yarn-session` 
clusters, 
+it could set quickly and accurately yarn queue(`yarn.application.queue`) & 
labels(`yarn.application.node-label`).
+- Not only does it ensure the correctness of queue & labels input, 
+but it also shortens the time consumption of incorrect queues leading to 
applications failures,
+that is, to prompt users as early as possible whether the queue setting 
results are correct, improving interaction efficiency.
+- Effectively preventing the abuse of queues resource.
+
+
+## How to create yarn queues
+- Premise  
+You must keep a admin user account. In the case, The admin user `admin` was 
used to login the `default` team of the system.  
+- Locate the `Add New` button of the `Yarn Queue` page as followed steps and 
the fig.
+  - Use the admin user account to login the system with a target team.
+  - Click `Settings`.
+  - Click `Yarn Queue`.
+  - Click `Add New`.
+  <img src="/doc/image/yarn-queue/flow_to_create.png"/><br></br><br></br>
+
+- Type in the queue fields.  
+  - Create a pure queue.
+    - Type in the required yarn queue name
+    - Type in the optional description of the yarn queue if needed.
+    - Click `OK`.
+    <img 
src="/doc/image/yarn-queue/flow_to_type_in_pure_queue.png"/><br></br><br></br>
+  - Create a queue with labels.
+    - Type in the required yarn queue-label name.  
+      Queue label, eg. `queue1` represents queue name, `queue@label1,label2` 
represents that queue name is `queue1` and labels of the queue are `label1` & 
`label2`.  
+    - Type in the optional description of the yarn queue if needed.
+    - Click `OK`.
+  <img 
src="/doc/image/yarn-queue/flow_to_type_in_pure_queue_labels.png"/><br></br><br></br>
+- View the existed yarn queue(-labels)s.
+  <img src="/doc/image/yarn-queue/existed_queues.png"/><br></br><br></br>
+
+
+## How to use available queues
+
+- Create a flink cluster with a specified yarn queue.
+  
+  <img 
src="/doc/image/yarn-queue/available_queues_when_creating_cluster.png"/><br></br><br></br>
+
+- Create a yarn-application mode flink application with a specified yarn queue
+
+  <img 
src="/doc/image/yarn-queue/use_yarn_app_mode_to_create_application.png"/><br></br><br></br>
+  <img 
src="/doc/image/yarn-queue/available_queues_when_creating_application.png"/><br></br><br></br>
+
+
+
+## Items about the feature
+
+- Will this feature affect the `yarn-application` mode flink applications or 
`yarn-session` mode flink-clusters whose yarn queue(`yarn.application.queue`) & 
labels(`yarn.application.node-label`) specified by the old dynamic properties ? 
 
+> The feature will not affect it at all. SteamPark still retains the highest 
priority of dynamic properties and does 
+not enforce verification on the specified queues and labels in the dynamic 
properties, providing users with space for advanced configuration.
+
+- The isolation of Yarn queue isn't stricter.
+> In the current designs, the permissions of queues aren't strictly isolated 
due to
+the relationship between the queues and the `yarn-session` mode flink 
clusters.  
+> Flink `yarn-session` clusters are visible to all team, as shown in the 
figure. 
+The target `yarn-session` flink cluster uses a queue in the `default` team, 
but it can still be selected in the `test` team.  
+> So, if a `yarn-session` flink cluster uses a queue located in a certain 
team, as the resource usage of the target cluster increases, 
+the consumption of queues resource used by the target resource will also 
increase.
+This is the phenomenon that yarn queues can't be strictly isolated 
+due to the relationship between the queues and the `yarn-session` mode flink 
clusters.   
+> In other words, in `yarn-session` mode, flink clusters sharing leads to 
indirect sharing of queues resource between teams.
+
+  <img 
src="/doc/image/yarn-queue/use_yarn_session_mode_to_create_application.png"/><br></br>
+
+- Session cluster is shared by all teams. Why is it that when creating a 
`yarn-session` flink cluster, only the queues in the current team instead of 
all teams can be used in the queues candidate list ?
+> Based on the mentioned above, StreamPark hopes that when creating a 
`yarn-session` flink cluster, 
+administrators can specify the queue belonged to current of the current team 
only,
+which could be better for administrators to perceive the impact of current 
operations on the current team.
+
+- Why not support the isolation for `flink yarn-session clusters / general 
clusters` on team wide ?  
+  - The impact range caused by changes in cluster visibility is larger than 
that caused by changes in queue visibility.  
+  - StreamPark need to face greater difficulties in backward compatibility 
while also considering the user experience.   
+  - At present, there is no exact research on the users group and applications 
scale deployed using
+    `yarn-application` & `yarn-session` cluster modes in the community.    
+  Based on this fact, the community didn't provide greater feature support.    
+
+
+- If you have any related requirements about the feature, feel free to contact 
us or provide feedback directly to the community email list, please.   
+  The community will make the next evaluation and support based on the usage 
status of the users group and applications scale.
+
+Any suggestion is appreciated.
+
diff --git 
a/static/doc/image/yarn-queue/available_queues_when_creating_application.png 
b/static/doc/image/yarn-queue/available_queues_when_creating_application.png
new file mode 100644
index 00000000..8a978831
Binary files /dev/null and 
b/static/doc/image/yarn-queue/available_queues_when_creating_application.png 
differ
diff --git 
a/static/doc/image/yarn-queue/available_queues_when_creating_cluster.png 
b/static/doc/image/yarn-queue/available_queues_when_creating_cluster.png
new file mode 100644
index 00000000..dd96ce0a
Binary files /dev/null and 
b/static/doc/image/yarn-queue/available_queues_when_creating_cluster.png differ
diff --git a/static/doc/image/yarn-queue/existed_queues.png 
b/static/doc/image/yarn-queue/existed_queues.png
new file mode 100644
index 00000000..04a0b43b
Binary files /dev/null and b/static/doc/image/yarn-queue/existed_queues.png 
differ
diff --git a/static/doc/image/yarn-queue/flow_to_create.png 
b/static/doc/image/yarn-queue/flow_to_create.png
new file mode 100644
index 00000000..1db42bcb
Binary files /dev/null and b/static/doc/image/yarn-queue/flow_to_create.png 
differ
diff --git a/static/doc/image/yarn-queue/flow_to_type_in_pure_queue.png 
b/static/doc/image/yarn-queue/flow_to_type_in_pure_queue.png
new file mode 100644
index 00000000..bb339cb6
Binary files /dev/null and 
b/static/doc/image/yarn-queue/flow_to_type_in_pure_queue.png differ
diff --git a/static/doc/image/yarn-queue/flow_to_type_in_pure_queue_labels.png 
b/static/doc/image/yarn-queue/flow_to_type_in_pure_queue_labels.png
new file mode 100644
index 00000000..a7012a32
Binary files /dev/null and 
b/static/doc/image/yarn-queue/flow_to_type_in_pure_queue_labels.png differ
diff --git 
a/static/doc/image/yarn-queue/use_yarn_app_mode_to_create_application.png 
b/static/doc/image/yarn-queue/use_yarn_app_mode_to_create_application.png
new file mode 100644
index 00000000..f73638c8
Binary files /dev/null and 
b/static/doc/image/yarn-queue/use_yarn_app_mode_to_create_application.png differ
diff --git 
a/static/doc/image/yarn-queue/use_yarn_session_mode_to_create_application.png 
b/static/doc/image/yarn-queue/use_yarn_session_mode_to_create_application.png
new file mode 100644
index 00000000..5a2ef52e
Binary files /dev/null and 
b/static/doc/image/yarn-queue/use_yarn_session_mode_to_create_application.png 
differ

Reply via email to