Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java s3 hadoop错误:NoSuchMethodError:org.apache.hadoop.metrics2.lib.MetricsRegistry.newCounter_Java_Hadoop_Amazon S3_Parquet_Hadoop2 - Fatal编程技术网

Java s3 hadoop错误:NoSuchMethodError:org.apache.hadoop.metrics2.lib.MetricsRegistry.newCounter

Java s3 hadoop错误:NoSuchMethodError:org.apache.hadoop.metrics2.lib.MetricsRegistry.newCounter,java,hadoop,amazon-s3,parquet,hadoop2,Java,Hadoop,Amazon S3,Parquet,Hadoop2,我创建了如下凭据: Configuration conf = new Configuration(); conf.set("fs.s3a.impl", org.apache.hadoop.fs.s3a.S3AFileSystem.class.getName()); conf.set("fs.s3a.access.key", "ACCESS_ID"); conf.set("fs.s3a.secret.key", "SECRET VALUE"); conf.s

我创建了如下凭据:

    Configuration conf = new Configuration();
    conf.set("fs.s3a.impl", org.apache.hadoop.fs.s3a.S3AFileSystem.class.getName());
    conf.set("fs.s3a.access.key", "ACCESS_ID");
    conf.set("fs.s3a.secret.key", "SECRET VALUE");
    conf.set("fs.s3a.endpoint", "s3.us-east-1.amazonaws.com");
    conf.set("fs.s3a.aws.credentials.provider", SimpleAWSCredentialsProvider.NAME);
    conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
和路径

 Path path = new Path("s3a://<backet>/<directory>/my.parquet");
你知道如何解决这个问题吗

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.metrics2.lib.MetricsRegistry.newCounter(Ljava/lang/String;Ljava/lang/String;J)Lorg/apache/hadoop/metrics2/lib/MutableCounterLong;
MetricsRegistry
类是库的一部分。您在依赖项列表中缺少它。 确保此jar的版本与hadoop aws的版本相同

此外,建议所有hadoop依赖项jar使用相同的版本

更新:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
您正在尝试使用Hadoop库写入S3。在这种情况下,Hadoop将尝试使用本地文件系统来创建临时文件。这是Windows操作系统,您需要

  • 根据Hadoop版本,从下载
    winutils.exe
    二进制文件和其他所需文件
  • 将环境变量
    %HADOOP\u HOME%
    设置为指向安装这些二进制文件的目录
  • 阅读更多信息:

    MetricsRegistry
    类是库的一部分。您在依赖项列表中缺少它。 确保此jar的版本与hadoop aws的版本相同

    此外,建议所有hadoop依赖项jar使用相同的版本

    更新:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
    
    您正在尝试使用Hadoop库写入S3。在这种情况下,Hadoop将尝试使用本地文件系统来创建临时文件。这是Windows操作系统,您需要

  • 根据Hadoop版本,从下载
    winutils.exe
    二进制文件和其他所需文件
  • 将环境变量
    %HADOOP\u HOME%
    设置为指向安装这些二进制文件的目录

  • 阅读更多信息:

    谢谢,我试过了,但没有帮助。因此我使用了s3n,它工作正常。但是一旦添加了hadoop公共jar,这个错误应该已经解决了。你还收到同样的错误吗?我收到了org.apache.hadoop.io.nativeio.nativeio$Windows.access0(Ljava/lang/String;I)Z错误,而且我更新到了3.0.0,这没有帮助你知道如何解决这个问题吗?a3n在3.0.0版本中不受欢迎…我将其设置为那样,并将HADOOP_HOME设置为System.setProperty(“HADOOP.HOME.dir”,“C:\\Users\\avalieva\\Downloads\\winutils master\\HADOOP-3.0.0”);谢谢你,我试过了,但帮不上忙。因此我使用了s3n,它工作正常。但是一旦添加了hadoop公共jar,这个错误应该已经解决了。你还收到同样的错误吗?我收到了org.apache.hadoop.io.nativeio.nativeio$Windows.access0(Ljava/lang/String;I)Z错误,而且我更新到了3.0.0,这没有帮助你知道如何解决这个问题吗?a3n在3.0.0版本中不受欢迎…我将其设置为那样,并将HADOOP_HOME设置为System.setProperty(“HADOOP.HOME.dir”,“C:\\Users\\avalieva\\Downloads\\winutils master\\HADOOP-3.0.0”);
    Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.metrics2.lib.MetricsRegistry.newCounter(Ljava/lang/String;Ljava/lang/String;J)Lorg/apache/hadoop/metrics2/lib/MutableCounterLong;
    
    Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z