在 VM 集群上安装 Presto 并将其连接到不同 Yarn 集群上的 HDFS

Installing Presto on a VM cluster and connecting it to HDFS on a different Yarn cluster

我们有一个 HDP 2.6.4 spark 集群,其中有 10 个 linux worker 机器。

群集 运行s spark 应用程序通过 HDFS。 HDFS 安装在所有 worker 上。

我们希望安装 presto 来查询集群的 HDFS,但是由于工作机器中缺少 CPU 资源(每台机器只有 32 个内核),计划是在集群之外安装 presto簇。

为此,我们有多个 ESX,每个 ESX 将有 2 个 VM,每个 VM 将 运行 一个 presto 服务器。

所有ESX机器通过10g网卡连接到spark集群,使两个集群在同一个网络中。

我的问题是 - 我们能否在 VM 集群上安装 presto,尽管 HDFS 不在 ESX 集群上(而是在 spark 集群上)?

编辑:

从我们得到的答案来看,在 VM 上安装 presto 似乎是标准的,所以我想澄清一下我的问题:

Presto 在 presto/etc 下有一个名为 hive.properties 的配置文件。

在该文件中有一个名为 hive.config.resources 的参数,其值如下:

/etc/hadoop/conf/presto-hdfs-site.xml,/etc/hadoop/conf/presto-core-site.xml

这些文件是HDFS配置文件,但是由于VM集群和spark集群(包含HDFS)是分开的(VM集群上的presto应该访问驻留在spark集群上的HDFS),问题是 –

是否应该将这些文件从 spark 集群复制到 VM 集群?

只要将 Presto VM 配置为边缘节点(也称为网关节点)并拥有所有必要的配置文件和工具,您就不会有任何问题。有关边缘节点的详细信息,请参阅:

关于您的问题 - 我的问题是 - 我们能否在 VM 集群上安装 presto,尽管 HDFS 不在 ESX 集群上(而是在 spark 集群上)?

答案是肯定的

在这个没有与 HDFS 共同托管的集群上,不要忘记在 hive.properties

中设置 fowling 参数
hive.force-local-scheduling=false