That's the problem. I am not well versed with this script to fix on WIN but i guess as a workaround you might want to add $FLUME_INSTALL_DIR/lib/. this lib has all the required jars and should get you moving forward.
Mind, filing a JIRA for the same. - inder On Mon, Jul 30, 2012 at 7:23 PM, mardan Khan <mardan8...@gmail.com> wrote: > Thanks Inder, > > when I am running the $echo $CLASSPATH, I am just getting . (dot) and > nothing more. > > Please see below the flume-ng files. Can you just pointout where I should > put echo$CLASSPATH. > > Thanks > > > CLEAN_FLAG=1 > ################################ > # functions > ################################ > > info() { > if [ ${CLEAN_FLAG} -ne 0 ]; then > local msg=$1 > echo "Info: $msg" >&2 > fi > } > > warn() { > if [ ${CLEAN_FLAG} -ne 0 ]; then > local msg=$1 > echo "Warning: $msg" >&2 > fi > } > > error() { > local msg=$1 > local exit_code=$2 > > echo "Error: $msg" >&2 > > if [ -n "$exit_code" ] ; then > exit $exit_code > fi > } > > # If avail, add Hadoop paths to the FLUME_CLASSPATH and to the > # FLUME_JAVA_LIBRARY_PATH env vars. > # Requires Flume jars to already be on FLUME_CLASSPATH. > add_hadoop_paths() { > local HADOOP_IN_PATH=$(PATH="${HADOOP_HOME:-${HADOOP_PREFIX}}/bin:$PATH" > \ > which hadoop 2>/dev/null) > > if [ -f "${HADOOP_IN_PATH}" ]; then > info "Including Hadoop libraries found via ($HADOOP_IN_PATH) for HDFS > access" > > # determine hadoop java.library.path and use that for flume > local HADOOP_CLASSPATH="" > local HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$FLUME_CLASSPATH" \ > ${HADOOP_IN_PATH} org.apache.flume.tools.GetJavaProperty \ > java.library.path 2>/dev/null) > > # look for the line that has the desired property value > # (considering extraneous output from some GC options that write to > stdout) > # IFS = InternalFieldSeparator (set to recognize only newline char as > delimiter) > IFS=$'\n' > for line in $HADOOP_JAVA_LIBRARY_PATH; do > if [[ $line =~ ^java\.library\.path=(.*)$ ]]; then > HADOOP_JAVA_LIBRARY_PATH=${BASH_REMATCH[1]} > break > fi > done > unset IFS > > if [ -n "${HADOOP_JAVA_LIBRARY_PATH}" ]; then > > FLUME_JAVA_LIBRARY_PATH="$FLUME_JAVA_LIBRARY_PATH:$HADOOP_JAVA_LIBRARY_PATH" > fi > > # determine hadoop classpath > HADOOP_CLASSPATH=$($HADOOP_IN_PATH classpath 2>/dev/null) > > # hack up and filter hadoop classpath > local ELEMENTS=$(sed -e 's/:/ /g' <<<${HADOOP_CLASSPATH}) > local ELEMENT > for ELEMENT in $ELEMENTS; do > local PIECE > for PIECE in $(echo $ELEMENT); do > if [[ $PIECE =~ slf4j-(api|log4j12).*\.jar ]]; then > info "Excluding $PIECE from classpath" > continue > else > FLUME_CLASSPATH="$FLUME_CLASSPATH:$PIECE" > fi > done > done > > fi > } > add_HBASE_paths() { > local HBASE_IN_PATH=$(PATH="${HBASE_HOME}/bin:$PATH" \ > which hbase 2>/dev/null) > > if [ -f "${HBASE_IN_PATH}" ]; then > info "Including HBASE libraries found via ($HBASE_IN_PATH) for HBASE > access" > > # determine HBASE java.library.path and use that for flume > local HBASE_CLASSPATH="" > local HBASE_JAVA_LIBRARY_PATH=$(HBASE_CLASSPATH="$FLUME_CLASSPATH" \ > ${HBASE_IN_PATH} org.apache.flume.tools.GetJavaProperty \ > java.library.path 2>/dev/null) > > # look for the line that has the desired property value > # (considering extraneous output from some GC options that write to > stdout) > # IFS = InternalFieldSeparator (set to recognize only newline char as > delimiter) > IFS=$'\n' > for line in $HBASE_JAVA_LIBRARY_PATH; do > if [[ $line =~ ^java\.library\.path=(.*)$ ]]; then > HBASE_JAVA_LIBRARY_PATH=${BASH_REMATCH[1]} > break > fi > done > unset IFS > > if [ -n "${HBASE_JAVA_LIBRARY_PATH}" ]; then > > FLUME_JAVA_LIBRARY_PATH="$FLUME_JAVA_LIBRARY_PATH:$HBASE_JAVA_LIBRARY_PATH" > fi > > # determine HBASE classpath > HBASE_CLASSPATH=$($HBASE_IN_PATH classpath 2>/dev/null) > > # hack up and filter HBASE classpath > local ELEMENTS=$(sed -e 's/:/ /g' <<<${HBASE_CLASSPATH}) > local ELEMENT > for ELEMENT in $ELEMENTS; do > local PIECE > for PIECE in $(echo $ELEMENT); do > if [[ $PIECE =~ slf4j-(api|log4j12).*\.jar ]]; then > info "Excluding $PIECE from classpath" > continue > else > FLUME_CLASSPATH="$FLUME_CLASSPATH:$PIECE" > fi > done > done > FLUME_CLASSPATH="$FLUME_CLASSPATH:$HBASE_HOME/conf" > > fi > } > > display_help() { > cat <<EOF > Usage: $0 <command> [options]... > > commands: > help display this help text > agent run a Flume agent > avro-client run an avro Flume client > version show Flume version info > > global options: > --conf,-c <conf> use configs in <conf> directory > --classpath,-C <cp> append to the classpath > --dryrun,-d do not actually start Flume, just print the command > -Dproperty=value sets a JDK system property value > > agent options: > --conf-file,-f <file> specify a config file (required) > --name,-n <name> the name of this agent (required) > --help,-h display help text > > avro-client options: > --host,-H <host> hostname to which events will be sent (required) > --port,-p <port> port of the avro source (required) > --filename,-F <file> text file to stream to avro source [default: std > input] > --headerFile,-R <file> headerFile containing headers as key/value pairs > on each new line > --help,-h display help text > > Note that if <conf> directory is specified, then it is always included > first > in the classpath. > > EOF > } > > run_flume() { > local FLUME_APPLICATION_CLASS > > if [ "$#" -gt 0 ]; then > FLUME_APPLICATION_CLASS=$1 > shift > else > error "Must specify flume application class" 1 > fi > > if [ ${CLEAN_FLAG} -ne 0 ]; then > set -x > fi > $EXEC $JAVA_HOME/bin/java $JAVA_OPTS -cp "$FLUME_CLASSPATH" \ > -Djava.library.path=$FLUME_JAVA_LIBRARY_PATH > "$FLUME_APPLICATION_CLASS" $* > } > > ################################ > # main > ################################ > > # set default params > FLUME_CLASSPATH="" > FLUME_JAVA_LIBRARY_PATH="" > JAVA_OPTS="-Xmx20m" > > opt_conf="" > opt_classpath="" > opt_java_props="" > opt_dryrun="" > > mode=$1 > shift > > case "$mode" in > help) > display_help > exit 0 > ;; > agent) > opt_agent=1 > ;; > node) > opt_agent=1 > warn "The \"node\" command is deprecated. Please use \"agent\" > instead." > ;; > avro-client) > opt_avro_client=1 > ;; > version) > opt_version=1 > CLEAN_FLAG=0 > ;; > *) > error "Unknown or unspecified command '$mode'" > echo > display_help > exit 1 > ;; > esac > > while [ -n "$*" ] ; do > arg=$1 > shift > > case "$arg" in > --conf|-c) > [ -n "$1" ] || error "Option --conf requires an argument" 1 > opt_conf=$1 > shift > ;; > --classpath|-C) > [ -n "$1" ] || error "Option --classpath requires an argument" 1 > opt_classpath=$1 > shift > ;; > --dryrun|-d) > opt_dryrun="1" > ;; > -D*) > opt_java_props="$opt_java_props $arg" > ;; > *) > args="$args $arg" > ;; > esac > done > > # make opt_conf absolute > if [[ -n "$opt_conf" && -d "$opt_conf" ]]; then > opt_conf=$(cd $opt_conf; pwd) > fi > > # allow users to override the default env vars via conf/flume-env.sh > if [ -z "$opt_conf" ]; then > warn "No configuration directory set! Use --conf <dir> to override." > elif [ -f "$opt_conf/flume-env.sh" ]; then > info "Sourcing environment configuration script $opt_conf/flume-env.sh" > source "$opt_conf/flume-env.sh" > fi > > # append command-line java options to stock or env script JAVA_OPTS > if [ -n "${opt_java_props}" ]; then > JAVA_OPTS="${JAVA_OPTS} ${opt_java_props}" > fi > > # prepend command-line classpath to env script classpath > if [ -n "${opt_classpath}" ]; then > if [ -n "${FLUME_CLASSPATH}" ]; then > FLUME_CLASSPATH="${opt_classpath}:${FLUME_CLASSPATH}" > else > FLUME_CLASSPATH="${opt_classpath}" > fi > fi > > if [ -z "${FLUME_HOME}" ]; then > FLUME_HOME=$(cd $(dirname $0)/..; pwd) > fi > > # prepend $FLUME_HOME/lib jars to the specified classpath (if any) > if [ -n "${FLUME_CLASSPATH}" ] ; then > FLUME_CLASSPATH="${FLUME_HOME}/lib/*:$FLUME_CLASSPATH" > else > FLUME_CLASSPATH="${FLUME_HOME}/lib/*" > fi > > # find java > if [ -z "${JAVA_HOME}" ] ; then > warn "JAVA_HOME is not set!" > # Try to use Bigtop to autodetect JAVA_HOME if it's available > if [ -e /usr/libexec/bigtop-detect-javahome ] ; then > . /usr/libexec/bigtop-detect-javahome > elif [ -e /usr/lib/bigtop-utils/bigtop-detect-javahome ] ; then > . /usr/lib/bigtop-utils/bigtop-detect-javahome > fi > > # Using java from path if bigtop is not installed or couldn't find it > if [ -z "${JAVA_HOME}" ] ; then > JAVA_DEFAULT=$(type -p java) > [ -n "$JAVA_DEFAULT" ] || error "Unable to find java executable. Is it > in your PATH?" 1 > JAVA_HOME=$(cd $(dirname $JAVA_DEFAULT)/..; pwd) > fi > fi > > # look for hadoop libs > add_hadoop_paths > add_HBASE_paths > > # prepend conf dir to classpath > if [ -n "$opt_conf" ]; then > FLUME_CLASSPATH="$opt_conf:$FLUME_CLASSPATH" > fi > > # allow dryrun > EXEC="exec" > if [ -n "${opt_dryrun}" ]; then > warn "Dryrun mode enabled (will not actually initiate startup)" > EXEC="echo" > fi > > # finally, invoke the appropriate command > if [ -n "$opt_agent" ] ; then > run_flume $FLUME_AGENT_CLASS $args > elif [ -n "$opt_avro_client" ] ; then > run_flume $FLUME_AVRO_CLIENT_CLASS $args > elif [ -n "${opt_version}" ] ; then > run_flume $FLUME_VERSION_CLASS $args > else > error "This message should never appear" 1 > fi > > exit 0 > > > > > > > > > On Mon, Jul 30, 2012 at 2:40 PM, Inder Pall <inder.p...@gmail.com> wrote: > >> Hey if you edit flume-ng script and just before java is invoked put an >> >> echo $CLASSPATH that should help in figuring what all dir's are there in >> CLASSPATH. >> I am sorry but i am a big fan of windows hence don't run that O.S. to try >> it out. >> >> Thanks, >> - inder >> >> On Mon, Jul 30, 2012 at 7:00 PM, mardan Khan <mardan8...@gmail.com>wrote: >> >>> HI Inder, >>> >>> Sorry for the previous email. Actually I past the snapshot directly into >>> editor which convert into some noisy text. Please see the snapshot as >>> attachment . >>> >>> Please let me know for any solution >>> >>> Thanks >>> >>> >>> >>> >>> On Mon, Jul 30, 2012 at 1:20 PM, Inder Pall <inder.p...@gmail.com>wrote: >>> >>>> can you echo your CLASSPATH in the flume startup script. >>>> >>>> - inder >>>> >>>> >>>> On Mon, Jul 30, 2012 at 4:25 PM, mardan Khan <mardan8...@gmail.com>wrote: >>>> >>>>> Hi Brock >>>>> >>>>> Thanks for reply. I have solved the problem of cygwin. Now i am >>>>> getting another error message: Could not find or load main class of >>>>> org.apache.flume.node.Application. >>>>> >>>>> I am running the following command: >>>>> >>>>> bin/flume-ng agent -n agent -c conf -f >>>>> conf/flume-conf.properties.template >>>>> >>>>> Thanks >>>>> >>>>> >>>>> >>>>> On Sun, Jul 29, 2012 at 6:03 PM, Brock Noland <br...@cloudera.com>wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Unfortunately I am not familiar with cygwin and don't have a windows >>>>>> computer to test on. Hopefully someone else on the list has an insight. >>>>>> >>>>>> Brock >>>>>> >>>>>> >>>>>> On Sun, Jul 29, 2012 at 11:27 AM, mardan Khan >>>>>> <mardan8...@gmail.com>wrote: >>>>>> >>>>>>> Thanks Brock. >>>>>>> >>>>>>> >>>>>>> Now when i am run the command: flume$ bin/flume-ng agent -n agent >>>>>>> -f conf/flume-conf.properties. >>>>>>> template. >>>>>>> >>>>>>> >>>>>>> Cygwin Warning: MS-DOS style path detected >>>>>>> /usr/local/bin/c:\program...................................................................... >>>>>>> bin/flume-ng line:210 exec c:\program not found. >>>>>>> >>>>>>> How to solve this problem. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Sun, Jul 29, 2012 at 4:41 PM, Brock Noland <br...@cloudera.com>wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Inline >>>>>>>> >>>>>>>> On Sat, Jul 28, 2012 at 11:54 PM, mardan Khan <mardan8...@gmail.com >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> Hi Brock. >>>>>>>>> >>>>>>>>> Thanks for reply. I want to use the full flume as i have to upload >>>>>>>>> the data into hdfs. I have installed the cygwin and hadoop. >>>>>>>>> >>>>>>>> >>>>>>>> OK this is a great start. >>>>>>>> >>>>>>>> >>>>>>>>> I have download the flume binary from the mentioned link. Now you >>>>>>>>> please let me explain the follow: >>>>>>>>> >>>>>>>>> 1). I need just to decopress the downloaded folder? >>>>>>>>> >>>>>>>> >>>>>>>> Yes you download a tar.gz which is like a zip. In cygwin you can >>>>>>>> use the command tar -zxvf to untar it. >>>>>>>> >>>>>>>> >>>>>>>>> 2). where i should decompress the flume binary. Should i >>>>>>>>> decompress c:\cygwin\home\user-name >>>>>>>>> >>>>>>>> >>>>>>>> Whereever you want, however a common place for "tarball" software >>>>>>>> is /usr/local or /opt >>>>>>>> >>>>>>>> >>>>>>>>> 3). How I will run the flume-ng. >>>>>>>>> >>>>>>>> >>>>>>>> You configure flume and then run the flume-ng command in the bin >>>>>>>> directory >>>>>>>> >>>>>>>> >>>>>>>>> 4) The flume.conf file will configure same as configuring using >>>>>>>>> Linux? >>>>>>>>> >>>>>>>>> >>>>>>>> Yes configure flume will be the same as on Linux in cygwin. >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Many thanks >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, Jul 29, 2012 at 4:20 AM, Brock Noland >>>>>>>>> <br...@cloudera.com>wrote: >>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> If you just want run a flume agent on Windows you just download >>>>>>>>>> the binary here: http://flume.apache.org/download.html >>>>>>>>>> >>>>>>>>>> Note that the flume startup script is written in bash so unless >>>>>>>>>> you use cygwin you'll need to start the JVM and setup the classpath >>>>>>>>>> yourself. >>>>>>>>>> >>>>>>>>>> Brock >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Sat, Jul 28, 2012 at 8:01 PM, mardan Khan < >>>>>>>>>> mardan8...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I am struggling from couple of weeks to install and configure >>>>>>>>>>> the flume1.x on windows but could not success. Could you please >>>>>>>>>>> someone >>>>>>>>>>> show me step-by-step how to install flume on window. I have read a >>>>>>>>>>> couple >>>>>>>>>>> of posts which mentioned the git and Maven but i dont understand >>>>>>>>>>> how can >>>>>>>>>>> use it to install the flume. >>>>>>>>>>> >>>>>>>>>>> Please help me as i am total stuck and running out of time. >>>>>>>>>>> >>>>>>>>>>> Thanks >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Apache MRUnit - Unit testing MapReduce - >>>>>>>>>> http://incubator.apache.org/mrunit/ >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Apache MRUnit - Unit testing MapReduce - >>>>>>>> http://incubator.apache.org/mrunit/ >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Apache MRUnit - Unit testing MapReduce - >>>>>> http://incubator.apache.org/mrunit/ >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Thanks, >>>> - Inder >>>> Tech Platforms @Inmobi >>>> Linkedin - http://goo.gl/eR4Ub >>>> >>> >>> >> >> >> -- >> Thanks, >> - Inder >> Tech Platforms @Inmobi >> Linkedin - http://goo.gl/eR4Ub >> > > -- Thanks, - Inder Tech Platforms @Inmobi Linkedin - http://goo.gl/eR4Ub