问题标签 [alluxio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
214 浏览

hadoop - 为什么alluxio文件一直保持TO_BE_PERSISTED状态

我已经部署了一个Alluxio基于集群的HDFS集群。当我使用Alluxio Native Java Api通过设置writetype ASYNC_THROUGH将一些文件写入Alluxio时,文件(即使只有1G)似乎没有写入HDFS,几天后一直保持TO_BE_PERSISTED状态。

0 投票
1 回答
337 浏览

hadoop - 使用 CACHE_THROUGH 向 alluxio 写入数据失败

我正在尝试使用 map reduce 将数据写入alluxio。我在 hdfs 上有大约 11 gig 的数据正在写入 alluxio。它在 MUST_CACHE 写入类型(alluxio.user.file.writetype.default 的默认值)下工作正常。

但是当我尝试使用 CACHE_THROUGH 编写它时,它失败并出现以下异常:

我也尝试使用以下命令,得到相同的错误:

任何帮助/指针将不胜感激。谢谢

0 投票
1 回答
82 浏览

apache-spark - Spark 可以像 Hive 一样读取 Alluxio 的元数据吗?

我正在尝试通过使用 Alluxio 来减少 Spark 用于读取和写入数据的时间。

但是我发现我必须指定读取数据的路径。

我发现可以使用 Hive 的 metatool 将 Hive 的仓库从 HDFS 改为 Alluxio,这样我就可以通过 Spark sql 向 Alluxio 写入数据。但是我不知道如何通过sql读取Alluxio的数据。

有没有办法像 Hive 一样读/写 Alluxio 的数据?也许读取 Alluxio 的元数据并将其添加到 Metastore?

0 投票
1 回答
142 浏览

filesystems - Alluxio - 访问 underfs 中的现有文件

我正在运行一个使用 Swift 作为 underfs 的小型 Alluxio (1.7.0) 集群。

我已经确认 Alluxio 可以很好地写入和读取文件并将它们保存到 Swift 商店。

我想通过 Alluxio 访问 Swift 商店中从单独的客户端保存的文件,但是由于 Alluxio 主控中没有元数据,这些新文件是不可见的。我知道这是预期的功能,但我想问是否有任何配置选项或解决方法可以使 underfs 中的新文件在 Alluxio 中可见?

0 投票
1 回答
696 浏览

apache-spark - 为 Apache Spark 2.x 配置 OFF-HEAP

请帮助我理解以下内容

  1. 为 Apache Spark 2.x 配置 OFF-HEAP 存储的步骤是什么?
  2. 是否可以在 2.0 中将 Alluxio 配置为 OFF-HEAP 存储?自 2.x 以来是否已将其删除?
  3. OFF-HEAP 如何与动态分配一起工作,其中执行器根据需要随机添加和删除?
0 投票
1 回答
133 浏览

apache-spark - spark LOCAL 和 alluxio 客户端

我在本地模式下运行 spark 并试图让它与 alluxio 对话。我收到错误:java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found

我在这里查看了页面: https ://www.alluxio.org/docs/master/en/Debugging-Guide.html#q-why-do-i-see-exceptions-like-javalangruntimeexception-javalangclassnotfoundexception-class- alluxiohadoop 文件系统未找到

其中详细说明了在这种情况下采取的步骤,但我没有找到成功。

根据 Spark 文档,我可以像这样实例化本地 Spark:

然后我可以像这样添加alluxio客户端库:

我已经验证了正确的 jar 文件存在于我的本地机器上的正确位置:

但我仍然得到错误。我还能做些什么来弄清楚为什么 Spark 没有拿起图书馆?

请注意我没有使用 spark-submit - 我知道将客户端 jar 添加到 spark-submit 作业的方法。我的 Spark 实例在我的应用程序中创建为本地实例,这是我要解决的用例。

仅供参考,集群中有另一个应用程序正在使用 fs 客户端连接到我的 alluxio,并且一切正常。但是,在这种情况下,fs 客户端通过标准 sbt 依赖项被打包为应用程序的一部分。

谢谢

0 投票
1 回答
42 浏览

apache - Alluxio 数据分布不均

我有一个带有 4 台 r3.4Xlarge 机器的 EMR 设置(总共 128GB(32G/节点)和 1000GB(250GB)SSD 分配给了alluxio)。

我已经加载了大约 650GB 的 ORC 数据。但我可以看到 3 名工人使用了 80% + 分配的空间,但其中一名工人只使用了 1%。

有什么方法可以在所有工作人员之间均匀分布数据?

提前致谢

0 投票
0 回答
994 浏览

apache-spark - Spark 并发性能问题 Vs Presto

我们用alluxio 对spark 进行基准测试,用alluxio 对presto 进行基准测试。为了评估性能,我们采用了 5 个不同的查询(带有一些连接、分组和排序)并在 orc 中的 650GB 数据集上运行它。

Spark 执行环境的设置方式是我们有一个一直在运行的 Spark 上下文,并且我们使用 REST api(Jetty 服务器)提交查询。我们没有考虑此负载测试的第一批执行时间,因为由于任务反序列化等原因,它花费的时间不多。

我们在评估时观察到,当我们运行单个查询甚至同时执行所有这 5 个查询时,与 presto 相比,spark 的性能非常好,并且完成所有执行的时间是 presto 的一半。

但是对于实际的负载测试,我们执行了 10 批(一批是这 5 个查询同时提交),批间隔为 60 秒。在这一点上,presto 的表现比 spark 好很多。Presto 在约 11 分钟内完成了所有工作,而 Spark 需要约 20 分钟才能完成所有任务。

我们尝试了不同的配置来提高 spark 并发性,例如

  • 使用具有相同资源分配的 20 个池并以循环方式提交作业。
  • 尝试使用一个 FAIR 池并将所有作业提交到此默认池,并让 spark 决定资源分配
  • 调整一些火花属性,如spark.locality.wait和其他一些与内存相关的火花属性。
  • 所有任务都是 NODE_LOCAL(我们在 alluxio 中复制了数据来实现这一点)
  • 还尝试过使用执行器内存分配,例如尝试使用 35 个小型执行器(5 核,30G),也尝试使用(60core,200G)执行器。

但所有这些都会导致相同的执行时间。我们dstat在所有工作人员上使用以查看 spark 执行任务时发生了什么,我们可以看到没有或看到最小的 IO 或网络活动。并且 CPU 总是在 95%+(看起来它受限于 CPU)。(用 presto 看到几乎相似的 dstat)

有人可以向我推荐一些我们可以尝试达到与 presto 相似或更好的结果的东西吗?

以及为什么 presto 在并发方面表现优于 spark 的任何解释?我们观察到 presto 的第一批比后续批次花费的时间更多。presto 是否在内存中缓存了一些 spark 丢失的数据?还是 presto 的资源管理/执行计划比 spark 好?

注意:两个集群都使用相同的硬件配置运行

0 投票
2 回答
474 浏览

sockets - 无法在 Kubernetes 上启动 Alluxio

我正在尝试使用 docker 1.13.1、kubernetes 1.9.6、1.10.1 的 alluxio 1.7.1

我按照https://www.alluxio.org/docs/1.7/en/Running-Alluxio-On-Docker.html上的说明创建了 alluxio docker 镜像

然后我按照https://www.alluxio.org/docs/1.7/en/Running-Alluxio-On-Kubernetes.html指南在 kubernetes 上运行 alluxio。我能够正确调出alluxio master pod,但是当我尝试调出alluxio worker时,我得到了地址正在使用的错误。我没有修改从 alluxio git 下载的 yaml 中的任何内容。我所做的唯一更改是使 yamls 中的 alluxio docker 映像名称和 api 版本正确匹配。

我检查了在我的 k8s 集群设置中使用的端口,甚至在节点上也是如此。没有alluxio希望被任何其他进程使用的端口,但我仍然得到地址使用错误。我无法理解我可以做些什么来进一步调试或者我应该改变什么来完成这项工作。我的 k8s 集群设置上没有运行任何其他应用程序。我也尝试了单节点 k8s 集群设置和多节点 k8s 集群设置。我也尝试了 k8s 版本 1.9 和 1.10。

alluxio worker 方面肯定存在一些我无法调试的问题。

这是我从工作 pod 获得的日志:


alluxio-worker 容器总是因为相同的错误而一次又一次地重新启动和失败。

请指导我如何解决这个问题。

谢谢

0 投票
1 回答
130 浏览

azure - Apache Alluxio 可以使用 Azure Data Lake 作为底层存储吗?

我使用 Spark2.2 和 HDI 3.6 创建了一个 HDInsight 群集,可从 Azure Data Lake 读取数据。用户将在其上执行 Spark-SQL,我想使用 Alluxio 作为缓存来加速查询。经过一番研究,我发现支持 Azure Blob 存储:http ://www.alluxio.org/docs/1.7/en/Configuring-Alluxio-with-Azure-Blob-Store.html 。我想知道 Azure Data Lake 是否也支持?