0

Windows 7 から Linux の HDFS にログ ファイルをストリーミングする方法は?

Windows の Flume でエラーが発生する

Windows 7 (ノード 1) に「flume-node-0.9.3」をインストールしました。「flumenode」サービスが実行されており、localhost:35862 にアクセスできます。
Windows では、ログ ファイルは「C:/logs/Weblogic.log」にあります。CentOS
Linux (ノード 2) の Flume エージェントも実行されています。

  1. Windows マシンでは、JAVA_HOME 変数は「C:\Program Files\Java\jre7」に設定されます。
  2. Java.exe ファイルは、「C:\Program Files\Java\jre7\bin\java.exe」にあります。
  3. Flume ノードは「C:\Program Files\Cloudera\Flume 0.9.3」にインストールされます

これは、Windows 7 (ノード 1) の Flume の「conf」フォルダー内に配置されたflume-src.confファイルです。

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

Flume フォルダー内で次のコマンドを実行して、上記のファイルを実行しようとしました。

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

これは、CentOS (ノード 2) で実行されているtrg-node.confファイルです。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
4

1 に答える 1