为什么Alluxio本地缓存始终为零

时间:2019-11-25 13:49:17

标签: java apache-spark bigdata alluxio

编辑1: github中有一个未解决的问题: https://github.com/Alluxio/alluxio/issues/10110

我将监视该问题的状态,并为SO社区中的用户同步更新此线程。


在Alluxio中读取的Short-circuit意味着计算框架和Alluxio工作线程位于同一主机中,并且计算框架可以直接从该工作线程获取数据。

当前,我有两个计算节点,每个计算节点都安装了SparkAlluxio。我尝试使用Spark执行TPC-DS,并使用Alluxio作为缓存层。

我通过alluxio fsadmin report metrics监视了Alluxio指标,发现没有发生Short-circuit读取。

Cache Hit Rate (Percentage):
    Alluxio Local                                            0.00
    Alluxio Remote                                          82.52
    Miss                                                    17.48

这不是预期的,所以我尝试了Alluxio 2.0的指令

  

如果本地吞吐量为零或显着低于总吞吐量   吞吐量,计算应用程序很可能不与   当地的Alluxio工人。 Alluxio客户端使用主机名匹配来   发现当地的Alluxio工人;检查客户和工人使用   相同的主机名字符串。配置alluxio.user.hostname和   alluxio.worker.hostname设置客户端和工作程序主机名   分别。

     

注意:为了检索短路IO的指标,客户端   需要通过设置启用指标收集   alluxio.user.metrics.collection.enabled = true在   alluxio-site.properties或相应的应用程序配置。

我确实设置了alluxio.user.metrics.collectoin.enabled=true。对于alluxio.user.hostnamealluxio.worker.hostname,我将它们设置如下:

在hostA的alluxio-site.properties上,

alluxio.worker.hostname=hostA

在hostA的spark-default.properties上,

alluxio.user.hostname=hostA

在hostB的alluxio-site.properties上,

alluxio.worker.hostname=hostB

在hostB的spark-default.properties上,

alluxio.user.hostname=hostB

0 个答案:

没有答案