|
|
-
Re: Unable to activate flume-ng-cassandra-sinkConnor Woodson 2013-01-15, 02:06
Leave the Cassandra sink jar with its other jars in a folder some where. In
FLUME_HOME/conf, open flume-env.sh and go to the FLUME_CLASSPATH line. Uncomment it if needed. Append the path to your cassandra sink and its associated jars, and see if that works. There doesn't appear to be a version incompatability; simply, the Cassandra jar is not found in the classpath. And the reason for that is it looks like you have a typo in your flume.conf. com.*t*btoddb.flume.sinks.cassandra.CassandraSink should probably be com.btoddb.flume.sinks.cassandra.CassandraSink - Connor On Mon, Jan 14, 2013 at 5:57 PM, Jeff Bachtel <[EMAIL PROTECTED]>wrote: > I have a build of Flume 1.4.0 on FreeBSD 8, installed into > /usr/local/flume . I manually created > /usr/local/flume/plugins.d/flume-ng-cassandra-sink and > untarred flume-ng-cassandra-sink-1.0.0-SNAPSHOT-dist.tar.gz (from a local > pull/build of btoddb's sources on github), so I have a lib/ directory > that's completely populated with both the sink plugin and any possible > jarfiles it might rely on. > > I've likewise tried just > copying flume-ng-cassandra-sink-1.0.0-SNAPSHOT.jar to flume/lib/ for it to > get picked up. > > When I have a CassandraSink define in flume.conf as such: > webserver.sinks.cassandraSink.type > com.tbtoddb.flume.sinks.cassandra.CassandraSink > webserver.sinks.cassandraSink.channel = memoryChannel > webserver.sinks.cassandraSink.hosts = localhost > webserver.sinks.cassandraSink.cluster-name = MyCluster > webserver.sinks.cassandraSink.keyspace-name = ApacheLogs > webserver.sinks.cassandraSink.records-coldfam = Requests > > and try to start Flume with: > > /usr/local/flume/bin/flume-ng agent -c /usr/local/flume/conf/ -f > /usr/local/flume/conf/flume.conf -n webserver > -Dflume.root.logger=DEBUG,console > > > I get the following output (and obviously, no success): > 2013-01-14 19:55:33,594 (conf-file-poller-0) [ERROR - > org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:142)] > Failed to load configuration data. Exception follows. > org.apache.flume.FlumeException: Unable to load sink type: > com.tbtoddb.flume.sinks.cassandra.CassandraSink, class: > com.tbtoddb.flume.sinks.cassandra.CassandraSink > at > org.apache.flume.sink.DefaultSinkFactory.getClass(DefaultSinkFactory.java:69) > at > org.apache.flume.sink.DefaultSinkFactory.create(DefaultSinkFactory.java:41) > at > org.apache.flume.node.AbstractConfigurationProvider.loadSinks(AbstractConfigurationProvider.java:415) > at > org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:103) > at > org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:722) > Caused by: java.lang.ClassNotFoundException: > com.tbtoddb.flume.sinks.cassandra.CassandraSink > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) |