Hello, A similar issue was discussed in the Tez mailing list a long time ago:
https://lists.apache.org/thread/0vjor12lpcncg43rn6vddw8yc1k62c81 Tez still does not support specifying node labels for AMs, but as explained in the response, this is quite easy to implement if you can re-compile Tez. (Hive-MR3 is still a valid option, with hundreds of patches backported to Hive 3.1.3.) --- Sungwoo On Wed, Mar 22, 2023 at 7:21 PM Aaron Grubb <aa...@kaden.ai> wrote: > Hi all, > > I have a Hadoop cluster (3.3.4) with 6 nodes of equal resource size that > run HDFS and YARN and 1 node with lower resources which only runs YARN that > I use for Hive AMs, the LLAP AM, Spark AMs and Hive file merge containers. > The HDFS nodes are set up such that the queue for LLAP on the YARN > NodeManager is allocated resources exactly equal to what the LLAP daemons > consume. However, when I need to re-launch LLAP, I currently have to stop > the NodeManager processes on each HDFS node, then launch LLAP to guarantee > that the application master ends up on the YARN-only machine, then start > the NodeManager processes again to let the daemons start spawning on the > nodes. This used to not be a problem because only Hive/LLAP was using YARN > but now we've started using Spark in my company and I'm in a position where > if LLAP happens to crash, I would need to wait for Spark jobs to finish > before I can re-launch LLAP, which would put our ETL processes behind, > potentially to unacceptable delays. I could allocate 1 vcore and 1024mb > memory extra for the LLAP queue on each machine, however that would mean I > have 5 vcores and 5gb RAM being reserved and unused at all times, so I was > wondering if there's a way to specify which node to launch the LLAP AM on, > perhaps through YARN node labels similar to the Spark > "spark.yarn.am.nodeLabelExpression" configuration? Or even a way to specify > the node machine through a different mechanism? My Hive version is 3.1.3. > > Thanks, > Aaron >