【问题标题】:java.lang.NullPointerException when reading s3 with Hadoop (Scalding)使用 Hadoop 读取 s3 时出现 java.lang.NullPointerException(Scalding)
【发布时间】:2014-08-17 12:40:56
【问题描述】:

尝试使用 Scalding / Hadoop 读取 s3 时出现奇怪的 NPE。路径是 100% 正确的。

问这个问题是因为这对 Google 来说太难了,而且每次我遇到这个错误时,我都会忘记我是如何解决它的。所以在 SO 上发帖,这样我就可以自己谷歌了。

Caused by: java.lang.NullPointerException
        at org.apache.hadoop.fs.s3native.NativeS3FileSystem.listStatus(NativeS3FileSystem.java:479)
        at org.apache.hadoop.fs.Globber.listStatus(Globber.java:69)
        at org.apache.hadoop.fs.Globber.glob(Globber.java:217)
        at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1623)
        at com.twitter.scalding.FileSource.pathIsGood(FileSource.scala:57)
        at com.twitter.scalding.FileSource$$anonfun$hdfsReadPathsAreGood$1.apply(FileSource.scala:89)
        at com.twitter.scalding.FileSource$$anonfun$hdfsReadPathsAreGood$1.apply(FileSource.scala:89)
        at scala.collection.LinearSeqOptimized$class.forall(LinearSeqOptimized.scala:70)
        at scala.collection.immutable.List.forall(List.scala:84)
        at com.twitter.scalding.FileSource.hdfsReadPathsAreGood(FileSource.scala:89)
        at com.twitter.scalding.FileSource.validateTaps(FileSource.scala:101)
        at com.twitter.scalding.Job$$anonfun$validateSources$1.apply(Job.scala:158)
        at com.twitter.scalding.Job$$anonfun$validateSources$1.apply(Job.scala:153)
        at scala.collection.Iterator$class.foreach(Iterator.scala:727)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at com.twitter.scalding.Job.validateSources(Job.scala:153)
        at com.twitter.scalding.Job.buildFlow(Job.scala:91)
        at com.twitter.scalding.Job.run(Job.scala:126)
        at com.twitter.scalding.Tool.start$1(Tool.scala:109)
        at com.twitter.scalding.Tool.run(Tool.scala:125)
        at com.twitter.scalding.Tool.run(Tool.scala:72)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at com.twitter.scalding.Tool$.main(Tool.scala:133)

【问题讨论】:

    标签: hadoop amazon-s3 nullpointerexception scalding


    【解决方案1】:

    在进行全局搜索时也会看到此错误。 jets3 必须进行调整,我猜是使用 max-keys 或 timeout 选项。

    【讨论】:

    • 请详细说明一下?
    • @M-T-A 我隐约记得调整过httpclient.connection-timeout-mshttpclient.socket-timeout-ms。不过,不确定这是否与这个特定问题有关。
    【解决方案2】:

    当您的 s3 凭据设置不正确时会发生这种情况。确保 fs.s3n.awsAccessKeyIdfs.s3n.awsSecretAccessKey 已设置且正确。

    【讨论】:

    • 遇到同样的问题,在我的情况下也是s3n:// uri
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2011-06-09
    相关资源
    最近更新 更多