Please post the flume startup line. I guess you have missed the --conf switch.
- Alex On Jan 14, 2013, at 4:25 AM, 孙东亮 <[email protected]> wrote: > I'm a newbie for the Flume, and I just set up flume for a test. > I want to use the log4jappender to get log info from PIG scripts, the > log4j.properties is: > > log4j.appender.flume = org.apache.flume.clients.log4jappender.Log4jAppender > log4j.appender.flume.Hostname = localhost > log4j.appender.flume.Port = 41414 > log4j.logger.org.apache.pig=DEBUG,flume > > And for the flume.config: > > a1.sources = r1 > a1.sinks = k1 > a1.channels = c1 > > # Describe/configure the source > a1.sources.r1.type = avro > a1.sources.r1.bind = localhost > a1.sources.r1.port = 41414 > > # Describe the sink > a1.sinks.k1.type = logger > # Use a channel which buffers events in memory > a1.channels.c1.type = memory > a1.channels.c1.capacity = 1000 > a1.channels.c1.transactionCapacity = 100 > > # Bind the source and sink to the channel > a1.sources.r1.channels = c1 > a1.sinks.k1.channel = c1 > > But I got the following error when run a pig script: > java.lang.ClassNotFoundException: > org.apache.flume.clients.log4jappender.Log4jAppender > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:169) > at org.apache.log4j.helpers.Loader.loadClass(Loader.java:179) > at > org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:320) > at > org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:121) > at > org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:664) > at > org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:647) > at > org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:568) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:442) > at > org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:367) > at org.apache.pig.Main.configureLog4J(Main.java:678) > at org.apache.pig.Main.run(Main.java:337) > at org.apache.pig.Main.main(Main.java:111) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.util.RunJar.main(RunJar.java:156) > log4j:ERROR Could not instantiate appender named "flume". > > Could you please help me find what I miss or where is incorrect for the > configuration. > > Thanks a lot! > Dongliang -- Alexander Alten-Lorenz http://mapredit.blogspot.com German Hadoop LinkedIn Group: http://goo.gl/N8pCF
