hi Paul This did the trick. agent1.channels.NullChannel.type = memory
Thanks On Wed, Jul 17, 2013 at 5:03 PM, Paul Chavez < [email protected]> wrote: > ** > You've specified a channel named NullChannel in the agent1.channels > properties, but you don't define it anywhere in the configuration. You've > done the same with the NullSink. > > You'll need to add something like this to the config: > > agent1.channels.NullChannel.type = memory > > agent1.sinks.NullSink.type = null > > Hope that helps, > Paul > > > ------------------------------ > *From:* Rajesh Jain [mailto:[email protected]] > *Sent:* Wednesday, July 17, 2013 1:47 PM > *To:* [email protected] > *Subject:* Error: Flume to HDFS Sink > > I am getting a strange error when I am configuring Flume to write to a > HDFS Sink. > > 17 Jul 2013 20:36:46,469 ERROR [conf-file-poller-0] > (org.apache.flume.conf.file.AbstractFileConfigurationProvider$FileWatcherRunnable.run:204) > - Failed to load configuration data. Exception follows. > org.apache.flume.FlumeException: Selector channel not found: *NullChannel* > at > org.apache.flume.channel.MultiplexingChannelSelector.getChannelListFromNames(MultiplexingChannelSelector.java:166) > > > Do I need to change my configure file, here is my flume-conf.properties > > Second question, the hdfs.path - does it have to be hdfs namenode syntax > > I am new to both flume and hadoop/hdfs. > > > > # Name the components on this agent > agent1.sources = HTTPSource > agent1.sinks = PurePathSink UserActionSink VisitSink NullSink > agent1.channels = PurePathChannel UserActionChannel VisitChannel *NullChannel* > > # Describe/configure HTTPSource > agent1.sources.HTTPSource.type = org.apache.flume.source.http.HTTPSource > agent1.sources.HTTPSource.port = 4321 > agent1.sources.HTTPSource.handler = > com.dynatrace.diagnostics.btexport.flume.BtExportHandler > > # Describe sinks > agent1.sinks.PurePathSink.type = hdfs > agent1.sinks.PurePathSink.hdfs.path = hdfs://localhost:9000/user/bts/pp > agent1.sinks.PurePathSink.hdfs.fileType = DataStream > agent1.sinks.PurePathSink.hdfs.filePrefix = export > agent1.sinks.PurePathSink.hdfs.fileSuffix = .txt > agent1.sinks.PurePathSink.hdfs.rollInterval = 120 > agent1.sinks.PurePathSink.hdfs.rollSize = 131072 > agent1.sinks.PurePathSink.serializer = > com.dynatrace.diagnostics.btexport.flume.BtPurePathSerializerBuilder > > agent1.sinks.UserActionSink.type = hdfs > agent1.sinks.UserActionSink.hdfs.path = hdfs://localhost:9000/user/bts/pa > agent1.sinks.UserActionSink.hdfs.fileType = DataStream > agent1.sinks.UserActionSink.hdfs.filePrefix = export > agent1.sinks.UserActionSink.hdfs.fileSuffix = .txt > agent1.sinks.UserActionSink.hdfs.rollInterval = 120 > agent1.sinks.UserActionSink.hdfs.rollSize = 131072 > agent1.sinks.UserActionSink.serializer = > com.dynatrace.diagnostics.btexport.flume.BtPageActionSerializerBuilder > > agent1.sinks.VisitSink.type = hdfs > agent1.sinks.VisitSink.hdfs.path = hdfs://localhost:9000/user/bts/visit > agent1.sinks.VisitSink.hdfs.fileType = DataStream > agent1.sinks.VisitSink.hdfs.filePrefix = export > agent1.sinks.VisitSink.hdfs.fileSuffix = .txt > agent1.sinks.VisitSink.hdfs.rollInterval = 120 > agent1.sinks.VisitSink.hdfs.rollSize = 131072 > agent1.sinks.VisitSink.serializer = > com.dynatrace.diagnostics.btexport.flume.BtVisitSerializerBuilder > > agent1.sinks.NullSink.type = null > > # Use a channel which buffers events in memory > agent1.channels.PurePathChannel.type = memory > agent1.channels.PurePathChannel.capacity = 1000 > agent1.channels.PurePathChannel.transactionCapactiy = 100 > > agent1.channels.UserActionChannel.type = memory > agent1.channels.UserActionChannel.capacity = 1000 > agent1.channels.UserActionChannel.transactionCapactiy = 100 > > agent1.channels.VisitChannel.type = memory > agent1.channels.VisitChannel.capacity = 1000 > agent1.channels.VisitChannel.transactionCapactiy = 100 > > # Bind the source and sink to the channel > agent1.sources.HTTPSource.channels = PurePathChannel UserActionChannel > VisitChannel NullChannel > agent1.sinks.PurePathSink.channel = PurePathChannel > agent1.sinks.UserActionSink.channel = UserActionChannel > agent1.sinks.VisitSink.channel = VisitChannel > agent1.sinks.NullSink.channel = NullChannel > > agent1.sources.HTTPSource.selector.type = multiplexing > agent1.sources.HTTPSource.selector.header = btType > agent1.sources.HTTPSource.selector.mapping.PUREPATH = PurePathChannel > agent1.sources.HTTPSource.selector.mapping.PAGE_ACTION = UserActionChannel > agent1.sources.HTTPSource.selector.mapping.VISIT = VisitChannel > agent1.sources.HTTPSource.selector.default = NullChannel > >
