Uploaded image for project: 'CDH (READ-ONLY)'
  1. CDH (READ-ONLY)
  2. DISTRO-438

HBase sink does not work when zoo.cfg is on agent classpath

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: CDH4.1.1
    • Fix Version/s: None
    • Component/s: Flume

      Description

      Flume fails to start HBase sink when zoo.cfg is on its classpath. The problem is caused by HBase client where it uses information from zoo.cfg file instead of hbase-site.xml when both exist on classpath.

      This has been addressed in Deprecate/disable and remove support for reading ZooKeeper zoo.cfg files from the classpath ticket.

      Workaround
      Remove or rename zoo.cfg file from /etc/zookeeper/conf.

      Flume agent logs

      no valid quorum servers found in zoo.cfg
      Could not load table, flume_data from HBase
      org.apache.hadoop.hbase.ZooKeeperConnectionException: An error is preventing HBase from connecting to ZooKeeper
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1310)
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:578)
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:569)
      	at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:186)
      	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:196)
      	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:173)
      	at org.apache.flume.sink.hbase.HBaseSink.start(HBaseSink.java:106)
      	at org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:46)
      	at org.apache.flume.SinkRunner.start(SinkRunner.java:79)
      	at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:236)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: java.io.IOException: Unable to determine ZooKeeper ensemble
      	at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:93)
      	at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:152)
      	at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:126)
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1306)
      	... 18 more
      Unable to start SinkRunner: { policy:org.apache.flume.sink.DefaultSinkProcessor@4c3c2378 counterGroup:{ name:null counters:{} } } - Exception follows.
      org.apache.flume.FlumeException: Could not load table, flume_data from HBase
      	at org.apache.flume.sink.hbase.HBaseSink.start(HBaseSink.java:113)
      	at org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:46)
      	at org.apache.flume.SinkRunner.start(SinkRunner.java:79)
      	at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:236)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.hadoop.hbase.ZooKeeperConnectionException: An error is preventing HBase from connecting to ZooKeeper
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1310)
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:578)
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:569)
      	at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:186)
      	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:196)
      	at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:173)
      	at org.apache.flume.sink.hbase.HBaseSink.start(HBaseSink.java:106)
      	... 12 more
      Caused by: java.io.IOException: Unable to determine ZooKeeper ensemble
      	at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:93)
      	at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:152)
      	at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:126)
      	at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1306)
      	... 18 more

        Attachments

          Activity

            People

            • Assignee:
              hshreedharan Hari Shreedharan
              Reporter:
              samir Samir Eljazovic
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: