Docker安装Ek7.x.x

什么是ELK

ELK是ElasticSearch 、 Logstash、Kibana三大开源框架首字母大写简称。市面上也称为Elastic Stack。Lostash是ELK的中央数据流,用于从不同目标(文件/数据存储/MQ)收集不同格式数据,经过过滤后支持输出到不同目的地。Kibana可以将elastic的数据通过友好的页面展示出来,提供实时分析的功能

市面上很多开发只要提到ELK能够一直说出它是一个日志分析架构技术栈总称,但实际上ELK不仅仅适用于日志分析,它还可以支持其他任何数据分析和手机的场景,日志分析和收集知识更具有代表性。并非唯一性。

Docker安装ElasticSearch7.x.x

笔者的系统环境是:Ubuntu 19.10

搜索Es镜像

docker search elasticsearch

安装 Es 镜像

由于墙的原因,下载比较慢,需要修改docker的镜像为daocloud的镜像仓库

设置中国镜像:点我跳转

Ubuntu运行下面命令

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

重启下 docker服务

systemctl restart docker.service

拉取镜像的时候,官方推荐要指定版本号,如果没有指定,默认是:  镜像名:latest  下载最新版本,这是不推荐的方式,要避免这样使用

以下开始从拉取镜像

docker pull daocloud.io/library/elasticsearch:7.6.1

查看容器

docker images

运行容器

docker run --name es  \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx1000m" \
-v /home/docker/elastic/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elastic/data:/usr/share/elasticsearch/data \
-v /home/docker/elastic/plugins:/usr/share/elasticsearch/plugins \
-d 41072cdeebc5

访问网页,检测是否启动成功

这条命令的意思是,将id为41072cdeebc5的容器运行起来,其中:

命令参数说明
–name es容器取名为 es
-p 9200:9200 -p 9300:9300映射到9200,9300两个端口
-v /home/docker/elastic:/usr/share/elasticsearch/data将容器中/usr/share/elasticsearch/data的映射到本地目录的/home/docker/elastic下
通过这种设置,可以保证数据持久化
-v /home/docker/elastic/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \将容器中/usr/share/elasticsearch/config/elasticsearch.yml的映射到本地目录的/home/docker/elastic/config/elasticsearch.yml
通过这种设置,可以保证数据持久化
-v /home/docker/elastic/plugins:/usr/share/elasticsearch/plugins \将容器中/usr/share/elasticsearch/pluginsch.yml的映射到本地目录的/home/docker/elastic/plugins
通过这种设置,可以保证数据持久化
-e ES_JAVA_POTS=”-Xms1024m -Xmx1024m”限制es的最小和最大使用的内存空间
-d后台运行

查看运行状态

docker ps -a

熟悉下目录

目录名描述默认位置设置
homeElasticsearch的根目录或$ES_HOME在解压的时候创建 
bin二进制脚本文件包括elasticsearch启动节点、elasticsearch-plugin安装插件$ES_HOME/bin 
conf配置文件 包括elasticsearch.yml$ES_HOME/configpath.conf
data在节点上分配的每个index/shard的数据文件的位置,可以容纳多个位置$ES_HOME/datapath.data
logs日志文件的位置$ES_HOME/logspath.logs
plugins插件文件的位置,每个插件将包含在其子目录中$ES_HOME/plugins 
repo共享文件系统存储库位置。可容纳多个位置。文件系统存储库可以放在这里指定的任何目录的任何子目录中 path.repo
script脚本文件的位置$ES_HOME/scriptspath.scripts

elasticsearch.yml的配置信息

network.host: 0.0.0.0
http.cors.enabled: true        # 是否支持跨域
http.cors.allow-origin: "*"    # 表示支持所有域名

安装Es的管理面板

笔者这里使用的是 chrome 下的 ElasticSearch Head 插件,点我跳转 进行安装

Docker安装Kibana7.x.x

Kibana是一个针对ElasticSearch的开源分析及可视化平台,用来搜索、查看交互存储在ElasticSearch索引中的数据。使用Kibana,可以通过各种如表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础构架,几分钟内就可以完成Kibana安装并启动Elasricsearch索引检测。

官网地址:点我跳转

Kibana 要和 Es的版本一致

docker pull docker.elastic.co/kibana/kibana:7.6.1

查看容器

docker images

运行容器

docker run --name kibana  \
-p 5601:5601 \
-v /home/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
-d f9ca33465ce3

访问网页,检测是否启动成功

这条命令的意思是,将id为f9ca33465ce3的容器运行起来,其中:

命令参数说明
–name kibana容器取名为 kibana
-p 5601:5601映射到5601 端口
-v /home/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml 将容器中/usr/share/kibana/config/kibana.yml的映射到本地目录的/home/docker/kibana/config/kibana.yml下
通过这种设置,可以保证数据持久化
-d后台运行

访问网页,检测是否启动成功

kibana.yml的配置信息

server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://172.18.0.5:9200"]
i18n.locale: zh-CN

Dockerelasticelastic7.x.xkibanakibana7.x.x
暂无评论

发送评论 编辑评论


				
上一篇
下一篇