0
如何在Linux中將日誌文件從Windows 7流式傳輸到HDFS?Flume - 從Windows的流日誌文件到Linux中的HDFS
水槽在Windows是給錯誤
我已經安裝 '水槽節點-0.9.3' Windows 7上(節點1)。 'flumenode'服務正在運行,localhost:35862可以訪問。
在Windows中,日誌文件位於'C:/logs/Weblogic.log'
CentOS Linux(節點2)中的Flume代理程序也在運行。
- 在Windows機器上,JAVA_HOME變量設置爲 「C:\ Program Files文件\的Java \ jre7」
- 的JAVA.EXE文件位於「C:\ Program Files文件\的Java \ jre7 \ BIN \ java.exe的」
- 水槽節點安裝在 「C:\ Program Files文件\ Cloudera的\水槽0.9.3」
這裏是水槽,src.conf文件放置 '的conf' 文件夾中Windows 7上的Flume(節點1)
source_agent.sources = weblogic_server
source_agent.sources.weblogic_server.type = exec
source_agent.sources.weblogic_server.command = tail -f C:/logs/Weblogic.log
source_agent.sources.weblogic_server.batchSize = 1
source_agent.sources.weblogic_server.channels = memoryChannel
source_agent.sources.weblogic_server.interceptors = itime ihost itype
source_agent.sources.weblogic_server.interceptors.itime.type = timestamp
source_agent.sources.weblogic_server.interceptors.ihost.type = host
source_agent.sources.weblogic_server.interceptors.ihost.useIP = false
source_agent.sources.weblogic_server.interceptors.ihost.hostHeader = host
source_agent.sources.weblogic_server.interceptors.itype.type = static
source_agent.sources.weblogic_server.interceptors.itype.key = log_type
source_agent.sources.weblogic_server.interceptors.itype.value = apache_access_combined
source_agent.channels = memoryChannel
source_agent.channels.memoryChannel.type = memory
source_agent.channels.memoryChannel.capacity = 100
source_agent.sinks = avro_sink
source_agent.sinks.avro_sink.type = avro
source_agent.sinks.avro_sink.channel = memoryChannel
source_agent.sinks.avro_sink.hostname = 10.10.201.40
source_agent.sinks.avro_sink.port = 41414
我試圖通過執行水槽文件夾內的以下命令來運行上述文件:
C:\Program Files\Cloudera\Flume 0.9.3>"C:\Program Files\Java\jre7\bin\java.exe"
-Xmx20m -Dlog4j.configuration=file:///%CD%\conf\log4j.properties -cp "C:\Program Files\Cloudera\Flume 0.9.3\lib*" org.apache.flume.node.Application
-f C:\Program Files\Cloudera\Flume 0.9.3\conf\flume-src.conf -n source_agent
但它提供了以下信息:
Error: Could not find or load main class Files\Cloudera\Flume
這裏是trg-node.conf在CentOS(節點2)中運行的文件。 CentOS的節點是工作的罰款:
collector.sources = AvroIn
collector.sources.AvroIn.type = avro
collector.sources.AvroIn.bind = 0.0.0.0
collector.sources.AvroIn.port = 41414
collector.sources.AvroIn.channels = mc1 mc2
collector.channels = mc1 mc2
collector.channels.mc1.type = memory
collector.channels.mc1.capacity = 100
collector.channels.mc2.type = memory
collector.channels.mc2.capacity = 100
collector.sinks = HadoopOut
collector.sinks.HadoopOut.type = hdfs
collector.sinks.HadoopOut.channel = mc2
collector.sinks.HadoopOut.hdfs.path =/user/root
collector.sinks.HadoopOut.hdfs.callTimeout = 150000
collector.sinks.HadoopOut.hdfs.fileType = DataStream
collector.sinks.HadoopOut.hdfs.writeFormat = Text
collector.sinks.HadoopOut.hdfs.rollSize = 0
collector.sinks.HadoopOut.hdfs.rollCount = 10000
collector.sinks.HadoopOut.hdfs.rollInterval = 600
進行了必要的更改。 Flume安裝在「C:\ Cloudera \ Flume」上。現在我收到消息「錯誤:無法找到或加載主類org.apache.flume.node.application」。可能是什麼原因 ? – User456898
您的classpath -cp「C:\ Program Files \ Cloudera \ Flume 0.9.3 \ lib *」不正確,請嘗試顯式列出所有相關的jar。 –