gpt4 book ai didi

java - 使用自定义文件配置 EMR 节点

转载 作者:可可西里 更新时间:2023-11-01 15:07:57 26 4
gpt4 key购买 nike

我正在尝试在 AWS EMR Hadoop 集群上运行具有 Apache Nutch 依赖项的 jar。问题是 Nutch 找不到插件类(我使用 -Dplugin.folders 指定插件位置)。我在本地测试了这个选项,它工作正常:java -cp app.jar -Dplugin.folders=./nutch-plugins

我收到这个错误:

19/07/24 15:42:26 INFO mapreduce.Job: Task Id : attempt_1563980669003_0005_m_000000_2, Status : FAILED
Error: java.lang.RuntimeException: x point org.apache.nutch.net.URLNormalizer not found.
at org.apache.nutch.net.URLNormalizers.<init>(URLNormalizers.java:146)
at org.apache.nutch.crawl.Injector$InjectMapper.setup(Injector.java:139)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:796)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

我试图将插件复制到 /tmp 文件夹(只是猜测它是一个共享文件夹)- 没有帮助:

hadoop jar app.jar -Dplugin.folders=/tmp/nutch-plugins

然后我尝试将它复制到 HDFS - 没有帮助:

hadoop fs -cp file:///tmp/nutch-plugins hdfs:///tmp/
hadoop jar app.jar -Dplugin.folders=hdfs:///tmp/nutch-plugins

并尝试将其上传到 S3 存储桶 - 没有帮助:

hadoop fs -cp file:///tmp/nutch-plugins s3a:///mybucket/
hadoop jar app.jar -Dplugin.folders=s3a:///mybucket/nutch-plugins

如何使用 Nutch 插件配置 Hadoop 节点?我所需要做的就是将插件文件复制到某个地方,以便从集群中的任何节点访问它。

最佳答案

在分布式模式下(在 Hadoop 集群中),插件包含在作业文件 (runtime/deploy/apache-nutch-1.x.job) 中:

  1. 从源码包或从git克隆的Nutch源码开始
  2. 修改conf/中的配置- 注意:配置文件也包含在作业文件中
  3. 构建 Nutch ( ant runtime )
  4. 运行runtime/deploy/bin/nutchruntime/deploy/bin/crawl : hadoop jar <jobfile>被调用以启动 Nutch 作业,因此可执行文件 hadoop必须在 PATH 上。

关于java - 使用自定义文件配置 EMR 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57187465/

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