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:
yarn-application applications or Flink yarn-session clusters, it could set quickly and accurately yarn queue(yarn.application.queue) & labels(yarn.application.node-label).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.
Settings.Yarn Queue.Add New. Type in the queue fields.
OK. queue1 represents queue name, queue@label1,label2 represents that queue name is queue1 and labels of the queue are label1 & label2.OK. View the existed yarn queue(-labels)s.
Create a flink cluster with a specified yarn queue.
Create a yarn-application mode flink application with a specified yarn queue
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. StreamPark 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.
In the current designs, the permissions of queues aren‘t strictly isolated due to the relationship between the queues and the
yarn-sessionmode flink clusters.
Flinkyarn-sessionclusters are visible to all team, as shown in the figure. The targetyarn-sessionflink cluster uses a queue in thedefaultteam, but it can still be selected in thetestteam.
So, if ayarn-sessionflink 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 theyarn-sessionmode flink clusters.
In other words, inyarn-sessionmode, flink clusters sharing leads to indirect sharing of queues resource between teams.
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-sessionflink 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 ?
yarn-application & yarn-session cluster modes in the community.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.