yarn压缩编码与apachespark

0s7z1bwu  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(304)

我正在Yarn上运行apachespark(1.3.0)。这个 YARN_CONF_DIR 指向Yarn配置。 core-site.xml 从该目录加载。它包括一个 io.compression.codecs ,此列表包括 com.hadoop.compression.lzo.LzoCodec ,它不包括在预构建的spark中。
这会导致 ClassNotFoundException 启动时。作为解决方法,我们可以使用 core-site.xml 或者我们可以将所需的jar文件包含在 --jars .
这两种解决方法都不是很可靠。我不是Yarn集群的管理员。群集管理员可以对 core-site.xml 我不知道。如果我使用的是修改过的拷贝,我将错过重要的更改。如果我用的是 --jars ,当添加新的编解码器时,我的spark应用程序将中断。
这些编解码器是否存储在标准位置?我怎样才能把那个地方添加到我的类路径中?我希望我的应用程序能够在配置更改后存活下来,而不需要我做任何事情。

qhhrdooz

qhhrdooz1#

一个可能的答案是包含所有hadoop jar,如下所示:

--jars $HADOOP_HOME/../hadoop-yarn/lib/*.jar

我的问题是:
我不知道这条路有多标准。
这将导致每次启动应用程序时将jar复制到worker。我希望在部署编解码器时,它的jar会放在所有的yarn节点上,或者至少会放在共享位置的hdfs上。一定有更好的方法!

相关问题