【拆分版】Docker

您所在的位置:网站首页 docker搭建spark 【拆分版】Docker

【拆分版】Docker

2024-07-05 18:48:09| 来源: 网络整理| 查看: 265

【拆分版】Docker-compose构建Logstash多实例 写在最前

说起Logstash,这个组件并没有什么集群的概念,与其说是集群,不如说是各自去收集日志分析过滤存储到Elasticsearch中。这里做个多实例的Logstash,其实本质上只是为Logstash指定好占用的端口,输入输出的配置的挂载,如是而已。

本文配置为红框中的部分:Logstash多节点收集的数据,统统输出数据到es-tribe,让这个协调节点自己去负载均衡写入数据。

配置详见git仓库 https://github.com/hellxz/docker-logstash-multiple.git 如有疑问或本文写得有出入的地方,期望评论指定。

目录结构 ├── docker-ls-multiple-down.sh ├── docker-ls-multiple-up.sh ├── logstash-01 │   ├── config │   │   ├── logstash.conf │   │   └── logstash.yml │   ├── docker-compose.yml │   └── .env ├── logstash-02 │   ├── config │   │   ├── logstash.conf │   │   └── logstash.yml │   ├── docker-compose.yml │   └── .env └── logstash-03 ├── config │   ├── logstash.conf │   └── logstash.yml ├── docker-compose.yml └── .env 文件说明 以logstash-01举例说明 .env为docker-compose.yml提供了Logstash配置文件目录的位置,如果不放置到其他位置,无需更改 # .env file for docker-compose default. please be careful. # logstash config dir mount set. change inside dir config file to change logstash cluster settings. # default use relation path. don"t change if you don"t know what means. LOGSTASH_CONFIG_DIR=./config docker-compose.yml 为docker-compose的配置文件,这里只读取了.env的配置文件的路径,并把路径下的logstash.conf挂载到容器中logstash目录下pipeline/logstash.conf,挂载logstash.yml到logstash目录下config/logstash.yml version: "3" services: logstash-1: image: logstash:7.1.0 container_name: logstash-1 volumes: - ${LOGSTASH_CONFIG_DIR}/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:rw - ${LOGSTASH_CONFIG_DIR}/logstash.yml:/usr/share/logstash/config/logstash.yml:rw network_mode: "host" logstash.conf为模板文件,输入输出以及配置都可以在这里修改 input { #输入 kafka { #使用kafka方式输入 bootstrap_servers => "kafka1:9092,kafka2:9093,kafka3:9094" #kafka集群节点列表 topics => ["all_logs"] #订阅名为all_logs的topic group_id => "logstash" #设置组为logstash codec => json #转换为json } } filter { #过滤分词等都在这里配置,暂时未配置 } output { #输出 elasticsearch { #输出到es hosts => ["10.2.114.110:9204"] #es的路径 index => "all-logs-%{+YYYY.MM.dd}" #输出到es的索引名称,这里是每天一个索引 #user => "elastic" #password => "changeme" } stdout { codec => rubydebug } }

此处设置并不是本文中的重点,有兴趣和需要请参考其它文章的相关配置

logstash.yml 为logstash的配置文件,只写了些与集群相关的,还有更多请参考其它文章. # set now host ip to http.host http.host: 10.2.114.110 # set the es-tribe-node host. let logstash monitor the es. xpack.monitoring.elasticsearch.hosts: - http://10.2.114.110:9204 # enable or disable the logstash monitoring the es. xpack.monitoring.enabled: true

这里没有指定Logstash启动时的端口号,Logstash默认端口为9600,多实例在同主机时,会自动分配9600后的端口 另外两个脚本文件,仅在使用同一台主机时使用,便捷启动/关闭多节点Logstash

使用说明

需要确保多台主机均能正常ping通

确保Zookeeper集群与Kafka集群已经启动,并且Logstash订阅的borkers的列表能对得起来

确保Elasticsearch集群正常启动

宿主机/etc/hosts添加kafka1、kafka2、kafka3映射到对应的kafka所在的宿主机ip 修改每个Logstash目录下的config/logstash.conf中的输出es部分的ip到es-tribe对应的宿主机ip 修改每个Logstash目录下的config/logstash.yml中的http.host为当前宿主机ip, 修改xpack.monitoring.elasticsearch.hosts为当前es-tribe宿主机ip与port 进入每个Logstash目录执行docker-compose up -d以启动集群,执行docker-compose down以关闭集群

本文系原创文章,谢绝转载

原文地址:https://www.cnblogs.com/hellxz/p/docker_logstash_mutiple_nodes.html



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭