背景
这里搭建使用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读取数据,