如何在 yarn 上为 spark job 运行 更改 java.io.tmpdir
How to change java.io.tmpdir for spark job running on yarn
如何在 YARN 上为我的 Hadoop 3 集群 运行 更改 java.io.tmpdir
文件夹?
默认情况下它会得到类似 /tmp/***
的东西,但是我的 /tmp
文件系统对于 YARN 作业将写入的所有内容来说都太小了。
有办法改变吗?
我在core-site.xml
里也设置了hadoop.tmp.dir
,不过貌似,并没有真正用到。
可能是 What should be hadoop.tmp.dir ? 的副本。此外,浏览 /etc/hadoop/conf 中的所有 .conf 并搜索 tmp,看看是否有任何内容是硬编码的。同时指定:
- 您是否看到(任何)文件被创建 @ 您指定为 hadoop.tmp.dir 的内容。
- 应用您的更改后,@ /tmp/** 正在形成什么样的文件模式。
我还注意到配置单元在 /tmp 中创建文件。所以,你也可以看看@hive-site.xml。与您正在使用的任何其他生态系统产品类似。
我在yarn-site.xml中配置了yarn.nodemanager.local-dirs属性并重启了集群。在 spark 停止使用 /tmp 文件系统并使用目录后,在 yarn.nodemanager.local-dirs 中配置。
java.io.tmpdir 属性 for spark executors 也被设置为在 yarn.nodemanager.local-dirs 属性 中定义的目录。
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/somepath1,/anotherpath2</value>
</property>
如何在 YARN 上为我的 Hadoop 3 集群 运行 更改 java.io.tmpdir
文件夹?
默认情况下它会得到类似 /tmp/***
的东西,但是我的 /tmp
文件系统对于 YARN 作业将写入的所有内容来说都太小了。
有办法改变吗?
我在core-site.xml
里也设置了hadoop.tmp.dir
,不过貌似,并没有真正用到。
可能是 What should be hadoop.tmp.dir ? 的副本。此外,浏览 /etc/hadoop/conf 中的所有 .conf 并搜索 tmp,看看是否有任何内容是硬编码的。同时指定:
- 您是否看到(任何)文件被创建 @ 您指定为 hadoop.tmp.dir 的内容。
- 应用您的更改后,@ /tmp/** 正在形成什么样的文件模式。
我还注意到配置单元在 /tmp 中创建文件。所以,你也可以看看@hive-site.xml。与您正在使用的任何其他生态系统产品类似。
我在yarn-site.xml中配置了yarn.nodemanager.local-dirs属性并重启了集群。在 spark 停止使用 /tmp 文件系统并使用目录后,在 yarn.nodemanager.local-dirs 中配置。 java.io.tmpdir 属性 for spark executors 也被设置为在 yarn.nodemanager.local-dirs 属性 中定义的目录。
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/somepath1,/anotherpath2</value>
</property>