征服flume之二——flume-NG安装

1、将编译后的apache-flume-1.7.0-SNAPSHOT-bin.tar.gz包上传至linux服务器

2、修改flume-env.sh配置文件,主要是添加java环境

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# If this file is placed at FLUME_CONF_DIR/flume-env.sh, it will be sourced
# during Flume startup.

# Enviroment variables can be set here.

export JAVA_HOME=/opt/java/jdk1.7.0_65

# Give Flume more memory and pre-allocate, enable remote monitoring via JMX
# export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote"

# Note that the Flume conf directory is always included in the classpath.
#FLUME_CLASSPATH=""

至此,flume-ng的安装就算基本完成了。测试一下!

[root@GameCloud01 bin]# ./flume-ng version
Flume 1.7.0-SNAPSHOT
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: Unknown
Compiled by aiyou on 02/22/2016 16:37:11
From source with checksum N/A

可能遇到的问题:

[root@GameCloud01 bin]# ./flume-ng 
-bash: ./flume-ng: /bin/bash^M: bad interpreter: 没有那个文件或目录

这个问题是由于我们的脚本是在windows环境下编译的,脚本被转换成Windows下的dos文本格式,每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果将这个脚本文件直接放到Linux上执行就会报/bin/bash^M:badinterpreter错误提示。

解决办法:

1、使用vi或vim打开报错的脚本flume-ng

2、查看文本格式:setff?

3、如果显示是:fileformat=dos,则需要将文件格式改为unix

4、继续执行:setff=unix,保存退出即可。

相关推荐