实时读取本地文件到HDFS案例

1)案例需求:实时监控Hive日志,并上传到HDFS中

2)需求分析:

实时读取本地文件到HDFS案例

3)实现步骤:

  • Flume要想将数据输出到HDFS,必须持有Hadoop相关jar包

将commons-configuration-1.6.jar、

hadoop-auth-2.7.2.jar、

hadoop-common-2.7.2.jar、

hadoop-hdfs-2.7.2.jar、

commons-io-2.4.jar、

htrace-core-3.1.0-incubating.jar

拷贝到/opt/module/flume/lib文件夹下。

  • 创建flume-file-hdfs.conf文件

创建文件

[[email protected] job]$ touch flume-file-hdfs.conf

注:要想读取Linux系统中的文件,就得按照Linux命令的规则执行命令。由于Hive日志在Linux系统中所以读取文件的类型选择:exec即execute执行的意思。表示执行Linux命令来读取文件。

[[email protected] job]$ vim flume-file-hdfs.conf

添加如下内容

实时读取本地文件到HDFS案例

实时读取本地文件到HDFS案例

  • 执行监控配置

[[email protected] flume]$ bin/flume-ng agent –conf conf/ –name a2 –conf-file job/flume-file-hdfs.conf

  • 开启Hadoop和Hive并操作Hive产生日志

[[email protected] hadoop-2.7.2]$ sbin/start-dfs.sh

[[email protected] hadoop-2.7.2]$ sbin/start-yarn.sh

 

[[email protected] hive]$ bin/hive

hive (default)>

  • 在HDFS上查看文件。

实时读取本地文件到HDFS案例

大数据培训

相关文章: