zoukankan      html  css  js  c++  java
  • 使用flume抓取tomcat的日志文件下沉到kafka消费

    Tomcat生产日志

    Flume抓取日志下沉到kafka中

    1. 将写好的web项目打包成war包,eclise直接导出export,IDEA 在artifact中添加新的artifact-achieve项,选择web项目所在目录,再build即可
    2. 在Linux的Tomcat  Webapp目录下放入war包,在bin下启动Tomcat时,war包会自动解压,然后从浏览器访问,注意是http://bigdata2:8080/WebAnalysis_war/ 的形式 host:8080/+项目文件名
    3. 配置flume的conf文件如下,直接抓取到kafka
    agent.sinks = k1
    
    agent.sources = s1
    
    agent.sources = s1                         
    
    agent.channels = c1
    
    agent.sinks = k1      
    
    agent.sources.s1.type=exec        
    
    agent.sources.s1.command=tail -F /home/bigdata/weblogs/access.log
    
    agent.sources.s1.channels=c1
    
    agent.channels.c1.type=memory
    
    agent.channels.c1.capacity=10000
    
    agent.channels.c1.transactionCapacity=100
    
    #设置Kafka接收器
    
    agent.sinks.k1.type= org.apache.flume.sink.kafka.KafkaSink
    
    #设置Kafka的broker地址和端口
    
    agent.sinks.k1.brokerList=bigdata3:9092
    
    #设置Kafka的Topic
    
    agent.sinks.k1.topic=kafkatest
    
    #设置序列化方式
    
    agent.sinks.k1.serializer.class=kafka.serializer.StringEncoder
    
    agent.sinks.k1.channel=c1

    启动flume

    flume-ng agent -c conf -f /home/bigdata/flumeconf/log_kafka.log -n agent  -Dflume.root.logger=INFO,console
    1. 启动kafka
    ./kafka-server-start.sh -daemon ../config/server.properties

    如果没有创建该topic则新建topic

    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafkatest

    启动消费者

    ./kafka-console-consumer.sh --zookeeper bigdata3:2181 --topic kafkatest --from beginning
    1. 在JSP页面上点击已经嵌入js代码的Item,添加内容日志文件,在Kafka中就可以消费的到
    2. 解决中文乱码问题

    1修改tomcat的server.xml文件:

    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

    2表单中文乱码,在<%@ page %>下加一句<% request.setCharacterEncoding("utf-8");%>

    或在servlet中添加

    request.setCharacterEncoding("utf-8")
  • 相关阅读:
    便利的开发文档工具doxygen
    父页面 js 取得弹出窗口所选择的值, 弹出窗口关闭后刷新父页面
    ASCII码对照表
    C#中Brush、Color、String相互转换
    C#获取标准北京时间
    2005数据库脚本在SQL2000上执行 注意事项
    给Image控件后台赋Source值
    Web服务枚举组件不可用
    泛型集合转化为DataSet
    网站常见关于"登录|注册"和"姓名|注销"用JS实现
  • 原文地址:https://www.cnblogs.com/schoolbag/p/8654833.html
Copyright © 2011-2022 走看看