zoukankan      html  css  js  c++  java
  • Flume对接HBASE报错:NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration

    方案一:手动拷贝需要的相关jar包

    flume对接HBASE报错,找不到相关的类:

    报错hbase相关日志:

    18 五月 2021 17:25:50,633 ERROR [lifecycleSupervisor-1-2] (org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run:251)  - Unable to start SinkRunner: { policy:org.apache.flume.sink.DefaultSinkProcessor@4b591129 counterGroup:{ name:null counters:{} } } - Exception follows.
    java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$MasterService$BlockingInterface
    

      

    则需要将hbase lib下的相关包拷贝到flume lib目录下:

    scp hbase*.jar xxx.xx.x.xx:/home/root/programs/flume/lib/ 
    scp metrics*.jar xxx.xx.x.xx:/home/root/programs/flume/lib/ 
    scp netty*.jar xxx.xx.x.xx:/home/root/programs/flume/lib/ 
    scp protobuf*.jar xxx.xx.x.xx:/home/root/programs/flume/lib/ 
    

      

    报错zk相关日志:

    18 五月 2021 16:55:13,343 ERROR [lifecycleSupervisor-1-2] (org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run:251)  - Unable to start SinkRunner: { policy:org.apache.flume.sink.DefaultSinkProcessor@4e3d6202 counterGroup:{ name:null counters:{} } } - Exception follows.
    java.lang.NoClassDefFoundError: org/apache/zookeeper/Watcher
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
            at org.hbase.async.HBaseClient.<init>(HBaseClient.java:539)
            at org.apache.flume.sink.hbase.AsyncHBaseSink.initHBaseClient(AsyncHBaseSink.java:448)
            at org.apache.flume.sink.hbase.AsyncHBaseSink.start(AsyncHBaseSink.java:438)
            at org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:45)
            at org.apache.flume.SinkRunner.start(SinkRunner.java:79)
            at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:249)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
            at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
            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)
    Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.Watcher
            at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
            ... 25 more
    

      

    则需要把zk相关jar(zookeeper-3.4.6.jar、zookeeper-jute-3.5.8.jar)包拷贝到flume lib下 ;

    方案二:

    配置相关服务的环境变量

    ps:本质这种框架一般都是指定入口类,调动相关jar包进行程序服务,缺少哪些类 报错日志一般会详细指明,还是要仔细观察相关报错日志内容

    参考:

    hbase连接测试时的常见错误

    java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration

    https://www.fatalerrors.org/a/java.lang.noclassdeffounderror-io-netty-channel-eventloopgroup.html

  • 相关阅读:
    浅谈ruby中的block及yield
    Node.js使用TCP通讯
    JavaScript垃圾回收机制
    node.js的Promise库-bluebird示例
    使用pkg打包Node.js应用的方法步骤
    windows server 2012 安装 VC14(VC2015) 安装失败解决方案
    pm2命令,端口查询,mongodb服务启动,nginx服务启动,n模块的使用,搭建nodejs服务器环境,搭建oracledb服务器环境 linux的环境搭建
    linux+node.js+redis+mongodb+nginx环境的搭建
    nginx.exe启动错误:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
    windows下nginx的安装及使用
  • 原文地址:https://www.cnblogs.com/-courage/p/14782161.html
Copyright © 2011-2022 走看看