gpt4 book ai didi

java - 如何在 hadoop 文件系统上为 Java 程序设置类路径

转载 作者:可可西里 更新时间:2023-11-01 14:17:43 26 4
gpt4 key购买 nike

我想知道如何设置引用 HDFS 的类路径?我找不到任何引用。

 java -cp "how to reference to HDFS?" com.MyProgram 

如果我不能引用 hadoop 文件系统,那么我必须将所有引用的第三方库/jar 复制到每台 hadoop 机器上的 $HADOOP_HOME 下的某处……但我想通过将文件放入 hadoop 文件系统来避免这种情况。这可能吗?

程序运行的示例 hadoop 命令行(我的期望是这样的,也许我错了):

hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.3.jar -input inputfileDir -output outputfileDir -mapper /home/nanshi/myprog.java -reducer NONE -file /home/nanshi/myprog.java

但是,在上面的命令行中,我如何添加 java 类路径?像 -cp "/home/nanshi/wiki/Lucene/lib/lucene-core-3.6.0.jar:/home/nanshi/Lucene/bin"

最佳答案

我想您正在尝试做的是在您的分布式程序中包含第三方库。您可以做很多选择。

选项 1)我发现最简单的选项是将所有 jar 放在所有节点上的 $HADOOP_HOME/lib(例如/usr/local/hadoop-0.22.0/lib)目录中,然后重新启动您的 jobtracker 和 tasktracker。

选项 2) 为此使用 libjars 选项命令 hadoop jar -libjars comma_seperated_jars

选项 3) 将 jar 包含在 jar 的 lib 目录中。您必须在创建 jar 时执行此操作。

选项 4) 在您的计算机中安装所有 jar 并将它们的位置包含在类路径中。

选项 5) 您可以尝试将这些 jar 放在分布式缓存中。

关于java - 如何在 hadoop 文件系统上为 Java 程序设置类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11696563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com