热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据》》》flume上

笔记及视频位置:链接:https:pan.baidu.coms11IXcvZZm9DOulUaZVC8l-A密码:p0291.在开始之前:需要修改下主机名     vimetcho

笔记及视频位置:

链接:https://pan.baidu.com/s/11IXcvZZm9DOulUaZVC8l-A 密码:p029

大数据---》》》flume上

1.在开始之前:需要修改下主机名 

       vim /etc/hosts  

       192.168.126.129 master 

2.关闭防火墙

    你的Linux的版本不同,关闭防火墙的方式不同

  1. systemctl status firewalld.service

  2. 启动一个服务:systemctl start firewalld.service

  3. 关闭一个服务:systemctl stop firewalld.service

  4. 重启一个服务:systemctl restart firewalld.service

  5. 显示一个服务的状态:systemctl status firewalld.service

  6. 在开机时启用一个服务:systemctl enable firewalld.service

  7. 在开机时禁用一个服务:systemctl disable firewalld.service

  8. 查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?

  9. 查看已启动的服务列表:systemctl list-unit-files|grep enabled

3.创建用户

  1.  adduser   flume:添加用户

  2. userdel -r flume: 删除用户

  3. passwd  flume:设置密码

4.切换到新用户

      su - flume

 5.  创建目录

     |--bigdata

         |--install :存放解压包

         |--software  :存放待安装的包

         |--test  :存放数据文件

6.jdk安装

    1.解压jdk:

       tar -zxvf jdk-8u102-linux-x64.tar.gz -C ~/bigdata/install/

    2.配置环境变量

          vim ~/.bash_profile

             JAVA_HOME=/home/flume/bigdata/install/jdk1.8.0_102

             export PATH=$JAVA_HOME/bin:$PATH

    3.生效: source ~/.bash_profile   

    4. 配置环境变量有几种方式?

          环境变量的设置有4中设置

           1). root用户可以设置在/etc/profile文件中

            2). 其他用户:~/.bash_profile :每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

          3). 其他用户:~/.etc/bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.

          4). 使用脚本:可以设置在脚本中(等同于~/.etc/bashrc) 

7.安装flume

    1.解压

           tar -zxvf /home/flume/bigdata/install/apache-flume-1.7.0-bin -C ~/bigdata/install/

   2.配置flume到环境变量

     vim ~/.bash_profile

        FLUME_HOME=/home/flume/bigdata/install/apache-flume-1.7.0-bin

         export PATH=$FLUME_HOME/bin:$PATH

     source ~/.bash_profile

  3.配置文件conf/flume.env.sh

      cp flume-env.ps1.template flume.env.sh

      export JAVA_HOME=/home/soup/bigdata/install/jdk1.8.0_102

 8.测试

     测试模型1:  

            source:NetCat TCP  

            sink:logger

            channel:memory

配置文件名  # netcat.conf

 

a1.sources = r1

a1.sinks = k1

a1.channels = c1

a1.sources.r1.type = netcat

a1.sources.r1.bind = localhost

a1.sources.r1.port = 44444  

a1.sinks.k1.type = logger

a1.channels.c1.type = memory

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

启动:

flume-ng agent --conf conf --conf-file $FLUME_HOME/conf/netcat.conf

--name a1 -Dflume.root.logger=INFO,console

另开一个窗口测试的方式:

telnet localhost 44444 

测试模型2:  

            source:exec 

            sink:logger

            channel:memory

配置文件名  # exec.conf

a1.sources = r1

a1.sinks = k1

a1.channels = c1

a1.sources.r1.type = exec

a1.sources.r1.command = tail -F /home/flume/bigdata/test/flume_t.txt

a1.sources.r1.shell = /bin/bash -c

a1.sinks.k1.type = logger

a1.channels.c1.type = memory

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

启动:

flume-ng agent --conf conf --conf-file $FLUME_HOME/conf/exec.conf \

--name a1 -Dflume.root.logger=INFO,console

另开一个窗口测试的方式:

echo "ABC">>/home/flume/bigdata/test/flume_t.txt

 

测试模型3:  从web的服务器上获取日志内容,在控制台打印出来

            source:avro

            sink:logger

            channel:memory

配置文件名  # exec.conf

web的日志只需要在log4j的jar引入到pom

#####log日志的依赖

log4j

log4j

1.2.17

#####flume与log的对接包

org.apache.flume.flume-ng-clients

flume-ng-log4jappender

1.7.0

添加log4j.properties

log4j.rootCategory=INFO,stdout,flume

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.COnversionPattern= %-d{yyyy-MM-dd HH:mm:ss, SSS}} [ %t] - [ %p ] %m%n

log4j.appender.flume = org.apache.flume.clients.log4jappender.Log4jAppender

log4j.appender.flume.Hostname =192.168.126.129    ----Linux的ip

log4j.appender.flume.Port = 4141                 ----随意一个端口只要和下面的配置文件一致就好

log4j.appender.flume.UnsafeMode = true

测试的程序:

package com.itstar;

import org.apache.log4j.Logger;

public class flumeLog {

private static Logger log=Logger.getLogger(flumeLog.class);

public static void main(String[] args) throws Exception{

while (true){

Thread.sleep(5000);

log.info("hi");

}

}

}

配置文件名  #web-loggor.conf

 

a1.sources = r1

a1.sinks = k1

a1.channels = c1

a1 .sources.r1.type = avro

a1.sources.r1.bind = master   ###等价于192.168.126.129 

a1.sources.r1.port =4141                 

a1.sinks.k1.type = logger

a1.channels.c1.type = memory

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

启动:

flume-ng agent --conf conf --conf-file $FLUME_HOME/conf/web-loggor.conf \

--name a1 -Dflume.root.logger=INFO,console

测试:

启动 main生成日志就好

测试模型4:  从web的服务器上获取日志内容,传输到另一台Linux上 并在在控制台打印出来

agent1:a1

            source:avro

            sink:avro

            channel:memory

配置文件名  # web-agent1-logger.conf

  agent2:agent2          

            source:avro

            sink:logger

            channel:memory

配置文件名  # agent1-logger.conf

#web-agent1.conf

a1.sources = r1

a1.sinks = k1

a1.channels = c1

a1.sources.r1.type = avro

a1.sources.r1.bind = 192.168.126.129

a1.sources.r1.port = 41414

a1.sinks.k1.type = avro

a1.sinks.k1.channel = c1

a1.sinks.k1.hostname = 192.168.126.128

a1.sinks.k1.port = 4545

a1.channels.c1.type = memory

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

# agent1-logger.con

agent2.sources = r1

agent2.sinks = k1

agent2.channels = c1

agent2.sources.r1.type = avro

agent2.sources.r1.bind = 192.168.126.128

agent2.sources.r1.port = 4545

agent2.sinks.k1.type = logger

agent2.channels.c1.type = memory

agent2.sources.r1.channels = c1

agent2.sinks.k1.channel = c1

启动:要注意启动的顺序:

flume-ng agent --conf conf --conf-file $FLUME_HOME/conf/agent1-logger.conf \

--name agent2 -Dflume.root.logger=INFO,console

flume-ng agent --conf conf --conf-file $FLUME_HOME/conf/web-agent1.conf \

--name a1 -Dflume.root.logger=INFO,console

测试:启动你web端的程序

测试模型5:  从web的服务器上获取日志内容,Linux上获取 并写到hdfs

前提:启动hdfs

            source:avro

            sink:hdfs

            channel:memory

配置文件名  # avro-hdfs.conf

avro-hdfs.sources =avro1

avro-hdfs.sinks = k1

avro-hdfs.channels = c1

###定义source

avro-hdfs.sources.avro1.type = avro

avro-hdfs.sources.avro1.bind = 192.168.126.129

avro-hdfs.sources.avro1.port = 4141

###定义sink

avro-hdfs.sinks.k1.type = hdfs

avro-hdfs.sinks.k1.hdfs.path = /output/flume/

avro-hdfs.sinks.k1.hdfs.fileType = DataStream

###定义channel

avro-hdfs.channels.c1.type = memory

###创建关联

avro-hdfs.sources.avro1.channels = c1

avro-hdfs.sinks.k1.channel = c1

启动:

 bin/flume-ng agent --conf conf --conf-file conf/avro-hdfs.conf --name avro-hdfs -Dflume.root.logger=INFO,console

测试

启动程序

查看hadoop中的数据

hadoop fs -ls /output/flume

大数据---》》》flume上

 

大数据---》》》flume上

 

 

 

 


推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • Oracle另一台电脑访问的问题
    参考:https:www.cnblogs.comsand-tinyp3797087.html首先,两台电脑需要在同一个网络,然后安装Oracle的电脑上找到listener.ora ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
  • 原因:在vm上装7.9到sp3,打补丁到1644,再往后别打了,就打就打不开终端了,这个是java安全问题,以下只是终端的一些命令,记录一下:在系统下查看当前的串口:lsdev-C ... [详细]
  • Linux ls只显示以.qcow2结尾的文件
    ls-al|grep-Eqcow2$ ... [详细]
author-avatar
太阳神神神_890
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有