“ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。
docker:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
1. 数据持久化
由于 docker 镜像是只读的,而容器又是随时创建删除,那么数据保存在哪里呢?有两种方法:
1.保存在主机上,通过挂载的方式使容器内能够访问数据
2.保持在一个专门存放数据的容器内
开发时,通常将应用代码放在主机上,创建容器并将应用代码目录挂载进去,便于调试和修改。开发完成时,将应用代码直接复制到容器内,整个打包起来,便于部署和迁移。
当然,把应用代码集成到容器内的方法比较适合那些开发之后基本不再变化或者很少变化的应用,如果应用代码需要经常更新升级,那么这样反而会变得繁琐。
2. docker 思想
每个容器只做一件事
Elasticsearch
ES主要作用是通过构建分布式索引,完成对大数据的加工处理,存放的方式是:Index,