vlambda博客
学习文章列表

日志收集系统架构设计:(flume+zookeeper+kafka+php+mysql )

每天与你分享 

IT编程开发 技术干货 架构方案 技术思维导图 设计模式 算法题库

正文内容
  • 一、安装jdk

  • 二、安装flume

  • 三、安装kafka

    • 1、zookeeper

    • 2、kafka

  • 四、启动测试步骤

  • 五、目录说明

  • 六、日志收集系统设计图

  • 七、大数据参考资料推荐

一、安装jdk -(版本:1.8.0_191)

1.下载:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
解压:tar -zxvf /jdk-8u191-linux-x64.tar.gz -C /home/ppgt/local/


2.修改 /etc/profile 增加:

export JAVA_HOME=/home/ppgt/local/jdk1.8.0_191export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin

3.检测:

java -version


二、安装flume -(版本:1.8.0)

1.下载:

wget http://mirrors.hust.edu.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz

2.解压安装:

tar -zxvf apache-flume-1.8.0-bin.tar.gz -C /home/ppgt/local/

3.验证安装:

bin/flume-ng version

4.修改配置 conf/:

cp flume-env.sh.template flume-env.shvi flume-env.sh //配置java路径:export JAVA_HOME=/usr/local/jdk/jdk1.8.0_191-amd64

5.添加连接kafka的配置文件:conf/flumetokafka.conf

#配置flume链接kafka

# 定义这个agent中各组件的名字

flume_kafka.sources = exec-sourcesflume_kafka.sinks = kafka-sinkflume_kafka.channels = memory-channel# Describe/configure the sourceflume_kafka.sources.exec-sources.type = execflume_kafka.sources.exec-sources.command = tail -F /home/ppgt/tmpfile/testlogs/data.log# Describe the sinkflume_kafka.sinks.kafka-sink.type = org.apache.flume.sink.kafka.KafkaSinkflume_kafka.sinks.kafka-sink.topic = topiclogs01flume_kafka.sinks.kafka-sink.brokerList = localhost:9092flume_kafka.sinks.kafka-sink.requiredAcks = 1flume_kafka.sinks.kafka-sink.batchSize = 20# Use a channel which buffers events in memoryflume_kafka.channels.memory-channel.type = memoryflume_kafka.channels.memory-channel.capacity = 1000flume_kafka.channels.memory-channel.transactionCapacity = 100# Bind the source and sink to the channelflume_kafka.sources.exec-sources.channels = memory-channelflume_kafka.sinks.kafka-sink.channel = memory-channel

三、安装kafka

1.安装依赖zookeeper -(版本:3.4.12)

1)下载:

wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz

2)解压:

tar -zxvf zookeeper-3.4.12.tar.gz -C /home/ppgt/local/

3)修改数据存储目录:

conf/zoo.cfgcp zoo_sample.cfg zoo.cfg修改值:dataDir=/home/ppgt/kafka_zk_tmp/tmp/zookeeper

2.安装kafka -(版本:0.9.0.0)

1)下载:

wget https://archive.apache.org/dist/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz

2)解压:

tar -zxvf kafka_2.11-0.9.0.0.tgz -C /home/ppgt/local/

3)修改配置文件:config/server.properties

a) zookeeper.connect=localhost:2181 #zk服务地址b) host.name=localhost #主机名c) log.dirs=/home/ppgt/kafka_zk_tmp/tmp/kafka-logs#kafka数据的存放地址d) num.partitions=1 #分区数量e) listeners=PLAINTEXT://:9092 #kafka监听端口f) broker_id=0 #唯一标识id


四、启动测试步骤

1.启动zookeeper

bin/zkServer.sh start

2.启动flume

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

3.启动kafka

//启动kafka服务bin/kafka-server-start.sh /home/ppgt/local/kafka_2.11-0.9.0.0/config/server.properties//创建一个topicbin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topiclogs01//创建一个kafka消费者php /home/ppgt/www_test_ppgt_admin/syslogs_featrue_v1.0/script/cron/sysLogsConsumerRun.phpbin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic topiclogs01 --from-beginning//或者执行php消费者//生产测试日志echo '内容' exce >> /home/ppgt/tmpfile/testlogs/data.log

五、目录说明

1./home/ppgt/local/

conf/zoo.cfg #配置文件conf/flumetokafka.conf #连接kafka的配置文件config/server.properties #配置文件conf/flume-env.sh#配置文件 jdk1.8.0_191 #jdk安装目录apache-flume-1.8.0-bin/#flume安装目录kafka_2.11-0.9.0.0/ #kafka安装目录zookeeper-3.4.12/ #zookeeper安装目录

2./home/ppgt/kafka_zk_tmp/tmp/

zookeeper/ #zookeeper数据存储目录kafka-logs/ #kafka数据的存放地址

六、日志收集系统设计图


七、大数据资料文章推荐

  • flume:

    • https://blog.csdn.net/mengfanzhundsc/article/details/81300310?from=singlemessage&isappinstalled=0

    • https://blog.csdn.net/caodaoxi/article/details/25903867

    • https://www.cnblogs.com/tonglin0325/p/8963395.html

    • http://www.wfuyu.com/technology/25331.html

    • https://blog.csdn.net/Team77/article/details/44154529a

    • https://blog.csdn.net/wuxintdrh/article/details/79478710

    • https://blog.csdn.net/l1028386804/article/details/79366155

    • https://blog.csdn.net/jy02268879/article/details/81024758

    • http://itindex.net/detail/57323-flume-%E7%9B%91%E6%8E%A7-%E6%97%A5%E6%9C%9F

    • https://github.com/ypenglyn/locktail/blob/master/locktail_rotate.sh

    • https://blog.csdn.net/maoyuanming0806/article/details/79391010

    • https://blog.csdn.net/u010316188/article/details/79905372

    • https://blog.csdn.net/u011254180/article/details/80000763

    • linux下flume安装

    • flume使用taildir收集文件和文件夹

    • taildirSource多文件监控实时采集

    • 滚动日志监控解决方案:

    • Flume使用:监控文件实时采集新增数据输出到控制台

    • Flume之——Flume读取日志数据写入Kafka

    • flume Source志SpoolDir

    • flume监控

    • flume监控参数说明

    • flume监控指标详解

    • 大数据系列之Flume--几种不同的Sources

  • kafuka:

    • https://www.jianshu.com/p/a036405f989c

    • https://blog.csdn.net/nankiao/article/details/78553635

    • https://blog.csdn.net/weixin_38750084/article/details/82944759

    • http://www.cnblogs.com/jun1019/p/6656223.html

    • https://www.cnblogs.com/jun1019/p/6256514.html

    • http://www.tianshouzhi.com/api/tutorials/kafka/117

    • https://www.cnblogs.com/hei12138/p/7805475.html

    • kafka介绍

    • kafka的使用和安装

    • kafka存储机制

    • kafka配置说明

    • kafka与zookeeper间的关联

    • Zookeeper 在 Kafka 中的作用


推荐阅读

区块链技术入门学习分享

php7.0新特性学习

Tinkphp5.0框架博客项目实战

GO语言编程基础学习