我正在编写一个 spark 程序,它根据运行环境从 maven 下载不同的 jar,每个 jar 用于不同版本的 Hadoop 发行版(例如 CDH、HDP、MapR)。
这是必要的,因为 HDFS 和 YARN 的一些低级 API 不在这些发行版之间共享。但是,我找不到任何 HDFS 和 YARN 的公共(public) API 来说明它们的版本。
是否可以只用 Java 实现?或者我必须运行一个外部 shell 才能知道它?
最佳答案
在 Java 中 org.apache.hadoop.util.VersionInfo.getVersion() 应该可以工作。
https://hadoop.apache.org/docs/current/api/org/apache/hadoop/util/VersionInfo.html
对于 CLI,您可以使用:
$ hadoop version
$ hdfs version
$ yarn version
关于hadoop - 如何以编程方式获取 HDFS 和 YARN 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45910207/