• Flume报错:ERROR hdfs.HDFSEventSink: process failed java.lang.NoSuchMethodError: org.apache.hadoop.ipc.RPC.getProtocolProx


    报错日志:

    21/07/06 12:07:54 ERROR hdfs.HDFSEventSink: process failed
    java.lang.NoSuchMethodError: org.apache.hadoop.ipc.RPC.getProtocolProxy(Ljava/lang/Class;JLjava/net/InetSocketAddress;Lorg/apache/hadoop/security/UserGroupInformation;Lorg/apache/hadoop/conf/Configuration;Ljavax/net/SocketFactory;ILorg/apache/hadoop/io/retry/RetryPolicy;Ljava/util/concurrent/atomic/AtomicBoolean;)Lorg/apache/hadoop/ipc/ProtocolProxy;
            at org.apache.hadoop.hdfs.NameNodeProxies.createNNProxyWithClientProtocol(NameNodeProxies.java:418)
            at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:314)
            at org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider.getProxy(ConfiguredFailoverProxyProvider.java:124)
            at org.apache.hadoop.io.retry.RetryInvocationHandler.<init>(RetryInvocationHandler.java:74)
            at org.apache.hadoop.io.retry.RetryInvocationHandler.<init>(RetryInvocationHandler.java:65)
            at org.apache.hadoop.io.retry.RetryProxy.create(RetryProxy.java:58)
            at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:181)
            at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:678)
            at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
            at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
            at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2397)
            at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
            at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2431)
            at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2413)
            at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
            at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
            at org.apache.flume.sink.hdfs.BucketWriter$1.call(BucketWriter.java:240)
            at org.apache.flume.sink.hdfs.BucketWriter$1.call(BucketWriter.java:232)
            at org.apache.flume.sink.hdfs.BucketWriter$9$1.run(BucketWriter.java:668)
            at org.apache.flume.auth.SimpleAuthenticator.execute(SimpleAuthenticator.java:50)
            at org.apache.flume.sink.hdfs.BucketWriter$9.call(BucketWriter.java:665)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at java.lang.Thread.run(Thread.java:748)
    Exception in thread "SinkRunner-PollingRunner-DefaultSinkProcessor" java.lang.NoSuchMethodError: org.apache.hadoop.ipc.RPC.getProtocolProxy(Ljava/lang/Class;JLjava/net/InetSocketAddress;Lorg/apache/hadoop/security/UserGroupInformation;Lorg/apache/hadoop/conf/Configuration;Ljavax/net/SocketFactory;ILorg/apache/hadoop/io/retry/RetryPolicy;Ljava/util/concurrent/atomic/AtomicBoolean;)Lorg/apache/hadoop/ipc/ProtocolProxy;
            at org.apache.hadoop.hdfs.NameNodeProxies.createNNProxyWithClientProtocol(NameNodeProxies.java:418)
            at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:314)
            at org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider.getProxy(ConfiguredFailoverProxyProvider.java:124)
            at org.apache.hadoop.io.retry.RetryInvocationHandler.<init>(RetryInvocationHandler.java:74)
            at org.apache.hadoop.io.retry.RetryInvocationHandler.<init>(RetryInvocationHandler.java:65)
            at org.apache.hadoop.io.retry.RetryProxy.create(RetryProxy.java:58)
            at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:181)
            at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:678)
            at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
            at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
            at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2397)
            at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
            at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2431)
            at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2413)
            at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
            at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
            at org.apache.flume.sink.hdfs.BucketWriter$1.call(BucketWriter.java:240)
            at org.apache.flume.sink.hdfs.BucketWriter$1.call(BucketWriter.java:232)
            at org.apache.flume.sink.hdfs.BucketWriter$9$1.run(BucketWriter.java:668)
            at org.apache.flume.auth.SimpleAuthenticator.execute(SimpleAuthenticator.java:50)
            at org.apache.flume.sink.hdfs.BucketWriter$9.call(BucketWriter.java:665)
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at java.lang.Thread.run(Thread.java:748)

    解决办法:

    需要把hdfs的配置文件  hdfs-site.xml和core-site.xml配置文件copy到flume/conf/ 目录下,

    另外把需要的hadoop jar包拷贝到flume/lib 目录下(或者引用环境变量)

    需要的相关jar包:

    commons-configuration-1.6.jar、
    hadoop-auth-2.7.2.jar、
    hadoop-common-2.7.2.jar、
    hadoop-hdfs-2.7.2.jar、
    commons-io-2.4.jar、
    htrace-core-3.1.0-incubating.jar

  • 相关阅读:
    jQuery选择器总结
    ASP.NET MVC Controller向View传值的几种方式
    C# 实现屏幕截屏
    C#方法参数传递-同时使用ref和out关键字
    C#委托的异步调用
    C#导出Excel总结
    JQuery Form AjaxSubmit(options)在Asp.net中的应用注意事项
    Ubuntu16.04 Tomcat9的安装
    ubuntu16.04 安装 eclipse
    pychram最新注册码
  • 原文地址:https://www.cnblogs.com/-courage/p/14976680.html
Copyright © 2020-2023  润新知