Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
We have seen an increasing interest to get Flume natively running on {reg-tm}Windows{reg-tm} Operating Systems. Various IIS driven companies has developed some .NET stuff to send logs from a IIS to Flume agents, running on the box as the IIS runs, as example. 

{warning}
Note that Flume 1.x is not officially supported on Windows and the following instructions don't change thatare only meant to help interested parties - it does not mean that Flume is supported by the community on Windows. Please note that YMMV.
{warning}

h1. Prerequisites

*Build system*
maven 3x, git, jdk1.6.x, WinRAR (or similar program)


*Apache Flume agent node*
jdk1.6.x, WinRAR (or similar program), Ultraedit+\+ or similar texteditor

h1. Prepare the Windows Build Box

# Download and install JDK 1.6x
# Set the environment variables
## => Start - type "*env*" into the search box, select "*Edit system environment variables*", click Environment Variables, Select "*New*" from the "*Systems variables*" box, type "{{JAVA_HOME}}" into "*Variable name*" and the path to your JDK installation into "*Variable value*" (Example: {{C:\Program Files (x86)\Java\jdk1.6.0_33}})
# Download and install maven 3
# Set the environment variables
## => from the field "*System variables*" select *New*, Variable name "{{M2_HOME}}", value Path to your maven installation (Example: {{D:\Maven\apache-maven-3.0.4}})
## => from the field "*User variables for (your username)*" select *New*, Variable name "{{M2}}", value "{{%M2_HOME%\bin}}"
## => from the field "*User variables for (your username)*" select *New*, Variable name "{{MAVEN_OPTS}}", value "{{\-XX:MaxPermSize=1024M}}"
# Close the CMD if you have running one
# Download and install msysgit or use a similar program to checkout a git repo
# Change into the previously outchecked directory
# Build with "{{mvn clean}}" and "{{mvn package \-DskipTests}}"

h1. Start a flume agent

# Edit the log4j.properties file too, simple change the logger facility from
{{flume.root.logger=INFO,LOGFILE}}
into
{{flume.root.logger=DEBUG,CONSOLE}}
# Start Flume:
{{flume-1.3.0-SNAPSHOT>"c:\Program Files (x86)\Java\jdk1.6.0_33\bin\java.exe" \-Xmx20m \-Dlog4j.configuration=}}{{[file:///%CD%\conf\log4j.properties]}} {{\-cp "lib*" org.apache.flume.node.Application \-f conf\test1.conf \-n syslog-agent}}
*Explanation:*
{{Path to java.exe + Java related options + log4j config in Windows Uri style + Flume libs + application + config}}

h1. Available sinks

This section will be extend from time to time. These sinks where reported in from users as working:
# Syslog TCP
# Syslog UDP
# Exec
# Avro
# HDFS
## When a cygwin installed HDFS node is available on the same host as the agent runs