Kafka:2)Kafka整合logstash实战
来源:互联网 发布:暗黑战神 源码泄露 编辑:程序博客网 时间:2024/05/22 03:52
实验环境:logstash-2.3.2、kafka_2.10-0.9.0.1、JDK1.8
简单介绍下logstash,logstash专门用来收集数据,其功能和flume类似,但功能却比flume强大很多,而且不会丢失数据。其功能结构图如下
logstash主要由3个组件组成
- Input plugin:数据的输入源,比如有文件,数据库等
- Filter plugin:对输入的数据进行业务逻辑处理过滤
- Output plugin:数据的输出地,比如有hdfs、kafka等
1.logstash的搭建
logstash的搭建比较简单,下载官方的压缩包后,解压即可使用
实验过程:使用logstash监听一个日志文件,每当有数据写入的时候,自动把新增数据推送到kafka中
此次使用一个log文件作为输入源,在/tmp下新建一个文件log.txt,键入内容如下;
[root@slave04 tmp]# cat log.txt logstash_kafka test
这里我们只简单使用Input plugin(file)和Output plugin(kafka),中间没有额外的处理逻辑,使用logstash的插件需进行声明,内容放到一个.conf的文件中即可,下面给出一个例子:
input{file{path => "/tmp/log.txt"start_position => "beginning"}}output{kafka{topic_id => "logstashtest"codec => plain{format => "%{message}"charset => "UTF-8"}bootstrap_servers => "192.168.1.60:9092,192.168.1.61:9092,192.168.1.62:9092"}}代码解释:input和output就是对应的插件。如input使用file作为数据源,path定义了该数据源文件的位置,start_position表示第一次读取时从头开始读(beginning),还是只读取新增数据(默认end)。output使用kafka作为输出地,topic_id就是kafka的主题id,codec是我们定义的格式,bootstrap_servers就是对应broker的集群地址
配置好文件后,我们使用如下的命令启动logstash (-f 指定待监听的文件)
[root@slave04 bin]# ./logstash agent -f conf/lk.conf Settings: Default pipeline workers: 6Pipeline main started
2.Kakfa的部署
Kafka的安装部署,请参看http://blog.csdn.net/jiangpeng59/article/details/53241693
新建一个名为“logstashtest”的topic主题
#创建一个名为logstashtest的topic./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 1 --topic logstashtest启动一个消费终端查看logstashtest里面的内容,如下所示打印了log.txt的内容
[root@slave01 bin]# ./kafka-console-consumer.sh --zookeeper 192.168.1.61:2181 --topic logstashtest --from-beginning logstash_kafka test动态往log.txt添加一些内容
[root@slave04 tmp]# echo "123-javis" >> log.txt在kafka的消费终端可以实时看到有对应的内容输出
[root@slave01 bin]# ./kafka-console-consumer.sh --zookeeper 192.168.1.61:2181 --topic logstashtest --from-beginning logstash_kafka test123-javis
附上logstsh的文档:https://www.elastic.co/guide/en/logstash/2.3/index.html
0 0
- Kafka:2)Kafka整合logstash实战
- Kafka 入门 and kafka+logstash 实战应用
- [日志处理工作之五]整合logstash,kafka
- Kafka-Kafka快速实战
- logstash与kafka
- logstash-input-kafka
- kafka->logstash->es
- kafka-logstash-elasticsearch
- logstash-kafka-elasticsearch
- SparkStream:5)Spark streaming+kafka整合实战
- Kafka实战
- Kafka实战
- kafka以及storm-kafka整合
- Kafka与logstash数据交互
- logstash读取kafka数据插件
- logstash+kafka 文件日志收集
- logstash kafka output 日志处理
- logstash的kafka插件使用
- Python 学习笔记random包
- spring事务传播属性与隔离级别
- [BZOJ2565]最长双回文串(manacher)
- 数据结构--快速排序
- html
- Kafka:2)Kafka整合logstash实战
- FusionCharts 中文提示信息
- WJX_C++
- iOS应用内支付(IAP)的那些坑
- Spring注解标签详解@Autowired @Qualifier等
- elasticsearch 安装 ik 分词
- JVM系列-04-JDK自带的管理分析工具
- angular
- 如何解决linux报No space left on device错误