背景
这里搭建使用yarn的node label特性隔离出测试集群环境,使用Spark Thriftserver提供adhoc 查询服务,查alluxio scheme的表对用户来说是透明的。
环境配置部分
总体上来说,配置依据官网
https://www.alluxio.org/docs/1.6/en/Running-Spark-on-Alluxio.html和
https://www.alluxio.org/docs/1.6/en/Running-Hive-with-Alluxio.html (注意这里的配置有前置的配置需要打通)
由于alluxio有一些写特定上的缺点,如没副本。所以并不打算大规模使用,但是其缓存功能,对adhoc查询提升有很多成功例子。且社区pmc也推荐alluxio-spark要独立于存储。所以我们决定使用独占node label的方式搭建独立“集群”。该集群上的节点只有nodemanager和alluxio worker/alluxio master进程。没有datanode
但要注意:使用了node label特性,要把spark executor分配在node label的机器上
以集群环境为例则使用参数:–queue root.adhocall.datapm --conf spark.yarn.am.nodeLabelExpression=ad_hoc --conf spark.yarn.executor.nodeLabelExpression=ad_hoc
此外需要注意的配置如下。
1)配置路径透明
什么叫路径透明?
也就是val s = sc.textFile(“/LICENSE") 能够自动从alluxio读取数据,如果alluxio没有,则从underFS读取数据,而且会把读取的文件load到alluxion中。这样是保证系统默认使用alluxio文件系统。
同样在Spark Thriftserver提供的服务里,SQL的表都是自动走Alluxio路径。
2)配置hive

本文档详细介绍了如何在Yarn环境中利用node label特性,搭建Spark Thriftserver与Alluxio的集成,以提供adhoc查询服务。通过配置路径透明,使得Spark能自动从Alluxio读取数据,若Alluxio中不存在,则从底层存储读取。同时,文中还阐述了如何配置Hive metastore、Spark及Hadoop的相关设置,确保所有操作能正确识别和使用Alluxio。注意,由于Alluxio的某些限制,它并不适用于大规模使用,但在缓存和adhoc查询方面表现出色。
最低0.47元/天 解锁文章
4636

被折叠的 条评论
为什么被折叠?



