Nar*_*esh 23 java maven grpc-java
我试图在我的本地运行这个grpc-Java示例.相应的原型文件在这里.当我尝试在本地运行它会从这里抛出以下异常:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
at io.grpc.ServiceDescriptor.validateMethodNames(ServiceDescriptor.java:129)
at io.grpc.ServiceDescriptor.<init>(ServiceDescriptor.java:83)
at io.grpc.ServiceDescriptor.<init>(ServiceDescriptor.java:51)
at io.grpc.ServiceDescriptor$Builder.build(ServiceDescriptor.java:219)
at io.grpc.examples.helloworld.GreeterGrpc.getServiceDescriptor(GreeterGrpc.java:251)
at io.grpc.examples.helloworld.GreeterGrpc$GreeterImplBase.bindService(GreeterGrpc.java:84)
at io.grpc.internal.AbstractServerImplBuilder.addService(AbstractServerImplBuilder.java:125)
at io.grpc.internal.AbstractServerImplBuilder.addService(AbstractServerImplBuilder.java:63)
at com.cw.predictive.HelloWorldServer.start(HelloWorldServer.java:56)
at com.cw.predictive.HelloWorldServer.main(HelloWorldServer.java:92)
Run Code Online (Sandbox Code Playgroud)
这是我在这里提到的pom.xml :
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
小智 17
**Please add following dependencies in your project.**
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.6-jre</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.8</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
对于在 EMR 上遇到此错误的其他人。为了对 S3 文件使用 s3a 地址系统,我需要 S3aFileSystem Jar,但它在 EMR 6.7、Hadoop 3.2.1 集群上似乎不可用 - 否则我会收到错误Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
。为了解决这个问题,我将其包含--packages org.apache.hadoop:hadoop-aws:3.2.1
在 Spark-submit 参数中。然后我开始收到OP问题中指出的错误。降级到 3.2.0 解决了这个问题,但随后我遇到了另一个错误;NoSuchMethodError: SemaphoredDelegatingExecutor while writing files to S3
。我通过升级到 3.2.2: 解决了这个问题--packages org.apache.hadoop:hadoop-aws:3.2.2
。然后我就可以使用 EMR 6.7 读取和写入 S3a 地址