0

我正在尝试使用 dynatrace 作为水槽的源,而 hadoop 作为接收器,其中 dynatrace 和水槽在同一台服务器上,而 hadoop 在另一台服务器上。

但是,当启动水槽时,我收到以下错误:


错误 [conf-file-poller-0] (org.apache.flume.conf.file.AbstractFileConfigurationProvider$FileWatcherRunnable.run:211) - 未处理的错误 java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/ slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V 在 org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:120) 在 org.apache。 hadoop.metrics2.impl.MetricsSystemImpl.register(MetricsSystemImpl.java:220) at org.apache.hadoop.metrics2.MetricsSystem.register(MetricsSystem.java:54) at org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create( UserGroupInformation.java:106) 在 org.apache.hadoop.security.UserGroupInformation.(UserGroupInformation.java:208) 在 org.apache.flume.sink.hdfs.HDFSEventSink.authenticate(HDFSEventSink.java:529) 在 org.apache.flume.sink.hdfs.HDFSEventSink.configure(HDFSEventSink.java:247) 在 org.apache.flume.conf.Configurables.configure(Configurables.java:41) 在 org.apache.flume.conf.properties.PropertiesFileConfigurationProvider。 loadSinks(PropertiesFileConfigurationProvider.java:373) at org.apache.flume.conf.properties.PropertiesFileConfigurationProvider.load(PropertiesFileConfigurationProvider.java:223) at org.apache.flume.conf.file.AbstractFileConfigurationProvider.doLoad(AbstractFileConfigurationProvider.java:123)在 org.apache.flume.conf.file.AbstractFileConfigurationProvider.access$300(AbstractFileConfigurationProvider.java:38) 在 org.apache.flume.conf.file.AbstractFileConfigurationProvider$FileWatcherRunnable.run(AbstractFileConfigurationProvider.java:202) 在 java.util。 concurrent.Executors$RunnableAdapter。在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) 在 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 调用 (Executors.java:471)。 concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)在 java.lang.Thread.run(Thread.java:745)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 运行 (ScheduledThreadPoolExecutor.java:293) .run(Thread.java:745)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread 的 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 运行 (ScheduledThreadPoolExecutor.java:293) .run(Thread.java:745)


这是我的水槽配置文件:

# Name the components on this agent
QKDSK305.sources = HTTPSource
QKDSK305.sinks = PurePathSink UserActionSink VisitSink NullSink
QKDSK305.channels = PurePathChannel UserActionChannel VisitChannel NullChannel

# Describe/configure HTTPSource
QKDSK305.sources.HTTPSource.type = org.apache.flume.source.http.HTTPSource
QKDSK305.sources.HTTPSource.port = 4321
QKDSK305.sources.HTTPSource.handler = com.dynatrace.diagnostics.btexport.flume.BtExportHandler

# Describe sinks
QKDSK305.sinks.PurePathSink.type = hdfs
QKDSK305.sinks.PurePathSink.hdfs.path = hdfs://QKDSK303:9000/user/bts/pp
QKDSK305.sinks.PurePathSink.hdfs.fileType = DataStream
QKDSK305.sinks.PurePathSink.hdfs.filePrefix = export
QKDSK305.sinks.PurePathSink.hdfs.fileSuffix = .txt
QKDSK305.sinks.PurePathSink.hdfs.rollInterval = 120
QKDSK305.sinks.PurePathSink.hdfs.rollSize = 131072
QKDSK305.sinks.PurePathSink.serializer = com.dynatrace.diagnostics.btexport.flume.BtPurePathSerializerBuilder

QKDSK305.sinks.UserActionSink.type = hdfs
QKDSK305.sinks.UserActionSink.hdfs.path = hdfs://QKDSK303:9000/user/bts/pa
QKDSK305.sinks.UserActionSink.hdfs.fileType = DataStream
QKDSK305.sinks.UserActionSink.hdfs.filePrefix = export
QKDSK305.sinks.UserActionSink.hdfs.fileSuffix = .txt
QKDSK305.sinks.UserActionSink.hdfs.rollInterval = 120
QKDSK305.sinks.UserActionSink.hdfs.rollSize = 131072
QKDSK305.sinks.UserActionSink.serializer = com.dynatrace.diagnostics.btexport.flume.BtPageActionSerializerBuilder

QKDSK305.sinks.VisitSink.type = hdfs
QKDSK305.sinks.VisitSink.hdfs.path = hdfs://QKDSK303:9000/user/bts/visit
QKDSK305.sinks.VisitSink.hdfs.fileType = DataStream
QKDSK305.sinks.VisitSink.hdfs.filePrefix = export
QKDSK305.sinks.VisitSink.hdfs.fileSuffix = .txt
QKDSK305.sinks.VisitSink.hdfs.rollInterval = 120
QKDSK305.sinks.VisitSink.hdfs.rollSize = 131072
QKDSK305.sinks.VisitSink.serializer = com.dynatrace.diagnostics.btexport.flume.BtVisitSerializerBuilder
QKDSK305.sinks.VisitSink.serializer.charset = ISO-8859-2
QKDSK305.sinks.NullSink.type = null
QKDSK305.channels.NullChannel.type = memory

# Use a channel which buffers events in memory
QKDSK305.channels.PurePathChannel.type = memory
QKDSK305.channels.PurePathChannel.capacity = 1000
QKDSK305.channels.PurePathChannel.transactionCapactiy = 100

QKDSK305.channels.UserActionChannel.type = memory
QKDSK305.channels.UserActionChannel.capacity = 1000
QKDSK305.channels.UserActionChannel.transactionCapactiy = 100

QKDSK305.channels.VisitChannel.type = memory
QKDSK305.channels.VisitChannel.capacity = 1000
QKDSK305.channels.VisitChannel.transactionCapactiy = 100

# Bind the source and sink to the channel
QKDSK305.sources.HTTPSource.channels = PurePathChannel UserActionChannel VisitChannel NullChannel
QKDSK305.sinks.PurePathSink.channel = PurePathChannel
QKDSK305.sinks.UserActionSink.channel = UserActionChannel
QKDSK305.sinks.VisitSink.channel = VisitChannel
QKDSK305.sinks.NullSink.channel = NullChannel

QKDSK305.sources.HTTPSource.selector.type = multiplexing
QKDSK305.sources.HTTPSource.selector.header = btType
QKDSK305.sources.HTTPSource.selector.mapping.PUREPATH = PurePathChannel
QKDSK305.sources.HTTPSource.selector.mapping.PAGE_ACTION = UserActionChannel
QKDSK305.sources.HTTPSource.selector.mapping.VISIT = VisitChannel
QKDSK305.sources.HTTPSource.selector.default = NullChannel

请帮忙。

谢谢, 普兰尼尔

4

1 回答 1

0

似乎我们的其他一位用户遇到了类似的问题。他们通过使用 protobuf 2.5 重新编译 Flume 解决了这个问题。不要复制他们在我们的 dynatrace 社区论坛上发布的内容,请随时在此处查看他们的帖子:https ://community.compuwareapm.com/community/display/DL/Big+Data+Business+Transaction+Bridge?focusedCommentId=192087283#评论192087283

和我

于 2015-05-15T12:12:57.040 回答