• 搭建ELK+Filebead+zookeeper+kafka实验


    一、ELK+Filebeat+kafka+zookeeper架构

    架构图分别演示

    第一层:数据采集层

    • 数据采集层位于最左边的业务服务集群上,在每个业务服务器上面安装了filebead做日志收集,然后把采集到的原始日志发送到kafka+zookeeper集群上。

    第二层:消息队列层

    • 原始日志发送到kafka+zookeeper集群上后,会进行集中存储,此时filebead是消息的生产者,存储的消息可以随时被消费。

    第三层:数据分析层

    • logstash作为消费者,回去kafka+zookeeper集群节点时实拉去原始日志,然后将获取到的原始日志根据规则进行分析、格式化处理,最后将格式化的日志转发至Elasticsearch集群中。

    第四层:数据持久化存储

    • Elasticsearch集群接收到logstash发送过来的数据后,执行写入磁盘,建立索引等操作,最后将结构化数据存储到Elasticsearch集群上。

    第五层:数据查询,展示层

    • kibana是一个可视化的数据展示平台,当有数据检索请求时,它从Elasticsearch集群上读取数据,然后进行可视化出图和多维度分析.

    二、搭建ELFK+zookeeper+kafka

    主机名ip地址所属集群安装软件包
    filebead20.0.0.55数据层级层filebead+apache
    kafka120.0.0.56kafka+zookeeper集群kafka+zookeeper
    kafka220.0.0.57kafka+zookeeper集群kafka+zookeeper
    kafka320.0.0.58kafka+zookeeper集群kafka+zookeeper
    logstash20.0.0.59数据处理层logstash
    node120.0.0.60ES集群Eslasticsearch+node+phantomis+head
    node220.0.0.61ES集群+kibana展示Elasticsearch+node+phantomis+head+kibana

    1、安装kafka+zookeeper集群(20.0.0.55、20.0.0.56、20.0.0.57)

    2、安装zookeeper服务

    关闭防火墙,核心防护,修改主机名

    安装环境,解压软件

    修改配置文件

    创建数据目录、日志目录

    设置三台机器的myid

    设置三台机器的执行脚本

    将三台机器的启动脚本放入到系统管理中

    分别启动三台启动的zookeeper

    3、安装kafka服务

    将三台机器都上传安装包,并解压到指定目录

    备份配置文件

    修改配置文件

    • 20.0.0.55主机的配置文件

    20.0.0.56的配置文件

    20.0.0.57配置文件

    将kafka添加到环境变量中

    配置kafka 的启动脚本

    设置开机自动

    分别启动kafka

    3.1 kafka命令行操作

    创建topic

    1. kafka-topics.sh --create --zookeeper 20.0.0.55:2181,20.0.0.56:2181,20.0.0.57:2181 --replication-factor 2 --partitions 3 --topic test
    2. #--zookeeper:定义zookeeper集群服务器地址,如果有多个ip以逗号分隔。
    3. #--replication-factor:定义分区副本,1代表但副本,建议为2
    4. #--partitions: 定义分区数
    5. #--topic :定义topic名称

    查看当前服务器中的所有topic

    kafka-topics.sh --list --zookeeper 20.0.0.55:2181,20.0.0.56:2181,20.0.0.57:2181
    

    查看某个topic的详情

    kafka-topics.sh --describe --zookeeper 20.0.0.55:2181,20.0.0.56:2181,20.0.0.57:2181
    

     发布消息

    kafka-console-producer.sh --broker-list 20.0.0.55:9092,20.0.0.56:9092,20.0.0.57:9092 --topic test
    

    消费消息

    1. kafka-console-consumer.sh --bootstrap-server 20.0.0.55:9092,20.0.0.56:9092,20.0.0.57:9092 --topic test --from-beginning
    2. #--from-beginning:会把主题中以往所有的数据都读取出来

    修改分区数

    kafka-topics.sh --zookeeper 20.0.0.55:2181,20.0.0.56:2181,20.0.0.57:2181 --alter --topic test --partitions 6
    

    删除topic

    kafka-topics.sh --delete --zookeeper 20.0.0.55:2181,20.0.0.56:2181,20.0.0.57:2181 --topic test
    
    3.2 创建topic进行测试(任意主机上均可操作)

    创建topic

    发布消息、消费消息

    3、配置数据采集层filebead(20.0.0.58)

    关闭防火墙、修改主机名

    安装httpd服务,并启动

    安装filebead,并剪切到指定目录

    修改配置文件

    启动filebeat服务

    4、部署ES服务(20.0.0.60、20.0.0.61)

    安装JDK

    4.1 安装ES服务

    配置本地解析,上传安装包安装并启动

    修改配置文件

    查看配置文件,创建数据目录

    4.2 安装node插件

    安装运行环境

    编译

    安装

    4.3 安装phantomjs插件

    上传压缩包解压

    将执行文件加入到环境变量

    4.4 安装ES-head

    上传压缩包,解压

    安装

    4.5 修改ES配置文件

    4.6 启动ES服务

    4.7 启动ES-head服务

    5、部署logstash(20.0.0.59)

    安装java环境

    安装logstash

    创建软链接

    创建执行对接文件

    启动服务

    6、使用ES-head接口访问

    7、安装kibana指向可视化

    这边不演示了,参考前面的博客

     

  • 相关阅读:
    Linux性能优化--实用工具:性能工具助手
    根据json生成Java类
    分布式事务处理:挑战与解决方案
    【技巧】Ubuntu临时授予用户sudo权限,并在一定时间后自动撤销
    Linux性能优化 - CPU优化
    安泰:功率放大器在超声谐振谱技术压电材料研究中的应用
    利用Flutter的特性最大程度提升iOS应用的用户体验
    使用 Tess4J 实现本地与远程图片的文字识别
    K-means和DBSCAN
    技术分享 | 自动驾驶的春晚—Tesla AI Day
  • 原文地址:https://blog.csdn.net/ZWH9991/article/details/134165632