Docker安装ELK

  • 环境说明: 三个服务在同一台机器上且防火墙关闭、端口开放。
  • 注意: ElasticSearch、Kibana、Logstash三个服务版本要保持一致!!!

安装ElasticSearch

下载镜像文件,这里指定版本号下载

docker pull elasticsearch:6.6.2

启动ES:

docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e NETWORK_HOST="0.0.0.0" elasticsearch:6.6.2

参数说明:

  • –name elasticsearch:将容器命名为 elasticsearch
  • -p 9200:9200:将容器的9200端口映射到宿主机9200端口
  • -p 9300:9300:将容器的9300端口映射到宿主机9300端口,目的是集群互相通信
  • -e “discovery.type=single-node”:单例模式
  • -e ES_JAVA_OPTS="-Xms64m -Xmx128m":配置内存大小(必须设置!!!)
  • -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:将配置文件挂载到宿主机
    -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data:将数据文件夹挂载到宿主机
    -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins:将插件目录挂载到宿主机(需重启)
  • -d elasticsearch:6.6.2:后台运行容器,并返回容器ID

打开 http://localhost:9200/

安装成功。

安装IK分词器

//进入es容器中
docker exec -it es bash//安装分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.2/elasticsearch-analysis-ik-6.6.2.zip//定位
cd /usr/share/elasticsearch/plugins
ll


安装成功。
在Kibana界面的dev tools中或发送HTTP请求验证是否安装成功;

POST test/_analyze
{
“analyzer”: “ik_max_word”,
“text”: “hello world”
}

修改配置,解决跨域访问问题

首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件。

docker exec -it es bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml
在elasticsearch.yml的文件末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"

如果vi命令不能使用,上述结果执行成果可忽略

//先执行
apt-get update
//再执行,可以通过vim进行修改
apt-get install vim

修改配置后重启容器即可。

docker restart elasticsearch

安装Logstash

下载镜像文件,这里指定版本号下载

docker pull logstash:6.6.2

我在工作目录建立一个 docker 目录 并在里面创建了 logstash 目录,用来存放所有配置

logstash里面存放配置文件

logstash.yml (文件内容)

path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash

conf.d文件夹中新建test.conf文件:

conf.d/test.conf (文件内容)input {#收集web_info.logpath => “/usr/share/logstash/conf.d/web_info.log”type => “super”start_position => “beginning”
}output {elasticsearch { hosts => ["localhost:9200"] }stdout { codec => rubydebug }
}

启动logstash:

docker run -it -d -p 5044:5044 --name logstash -v /Users/enle/docker/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /Users/enle/docker/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:6.6.2

前台进入logstash控制台,输入内容就会自动同步到es中

安装Kibana

下载镜像文件,这里指定版本号下载

docker pull kibana:6.6.2

启动kibana:

//查看docker内部ES:IP
docker inspect --format='{{.NetworkSettings.IPAddress}}' es //会获得ES的IP
*.*.*.*docker run --name kibana -e ELASTICSEARCH_URL=http://*.*.*.*:9200 -p 5601:5601 -d kibana:6.6.2

启动以后可以打开浏览器输入http://localhost:5601就可以打开Kibana的界面了。

如果重启docker容器es内网ip很容易发生改变,采用文章最后方法启动:建议启动Kibana方式

安装ElasticSearch-head

下载镜像文件

必须指定版本,否则报错(版本和其它版本无关联)
docker pull mobz/elasticsearch-head:5启动:
docker run -it -d -p 9100:9100 --name elasticsearch-head mobz/elasticsearch-head:5

启动以后可以打开浏览器输入http://localhost:9100就可以打开Head的界面了。

建议启动Kibana方式

因为每次重启容器docker内网中ip会变,建议启动kibana用命令:

docker run --name kibana -p 5601:5601 -d kibana:6.6.2//进入kibana中修改es容器地址
docker exec -it kibana bash
cd config
vi kibana.yml

如果图:

将elasticsearch修改成es在docker容器内网ip即:docker inspect --format=’{{.NetworkSettings.IPAddress}}’ es

Docker安装ELK相关推荐

  1. Centos7 Docker安装ELK详细步骤

    系统配置:CentOS7.6 4核4G ELK版本:7.7.1 elastic官网地址:https://www.elastic.co/cn/ elastic产品地址:https://www.elast ...

  2. docker 安装ELK

    参考文档: Docker ELK使用文档:http://elk-docker.readthedocs.io/ 1.拉取镜像 查看 Docker Hub 的镜像 docker search elk 拉取 ...

  3. 橘子学ES03之Docker安装ELK+cerebro

    首先明白一点,ES是一个十分支持容器化运行的东西,加之docker的操作便捷性.前两篇我操作es和kibana真是够够的了. 一.服务器安装docker #1.卸载旧的版本: yum remove d ...

  4. Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)

    ELK是由 Elasticsearch.Logstash和Kibana 三部分组件组成. Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副 ...

  5. docker pull的镜像放在哪里_Docker 安装ELK及Docker常见命令

    最近搭建基于Spring Cloud的微服务框架,日志系统当然最佳选择就是ELK.看着MAC 那紧巴巴的配置,又不想热情退去而留下一堆软件,果断选择Docker安装来节省那可怜的资源.当然这只是鹏哥的 ...

  6. Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash)

    Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...

  7. 从零学ELK系列(四):Docker安装Elasticsearch(超详细图文教程)

    [前言] 为了更加真实的模拟生产部署环境,在上次的Docker环境中(<Centos安装Docker(超详细图文教程)>)中安装了Elasticsearch把步骤记录下来,一是方便自己以后 ...

  8. 从零学ELK系列(六):Docker安装Logstash(超详细图文教程)

    [前言] 为了更加真实的模拟生产部署环境,在上次的Docker环境中(<Docker安装kibana(超详细图文教程)>)中安装了kibana,本次我们将安装日志清洗组件---logsta ...

  9. docker安装logstash及logstash配置

    一.logstash跟es有版本对照关系 了解对照关系,决定要安装的logstash版本 二.ELK出现的原因 三.Logstash工作原理 Logstash事件处理管道有三个阶段:输入→过滤器→输出 ...

最新文章

  1. 编译驱动时出现Cannot open file trace.h错误
  2. linux下用c语言打印hellword,用C语言写一个Helloworld_实现第一步编译运行
  3. ABP+AdminLTE+Bootstrap Table权限管理系统第八节--ABP错误机制及AbpSession相关
  4. 把树分成森林 matlab,20170106RF_Matlab 随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,包括两个方面:数据的随 269万源代码下载- www.pudn.com...
  5. 支付宝扫码支付完成后如何跳转跳转页面_支付宝支付页面广告(按效果付费,杜绝隐形消费),企业拓客好帮手...
  6. DatePicker 和 DatePickerDialog的基本使用方法
  7. FFmpeg获取H264文件的帧率
  8. 吴恩达 深度学习 2021版 作业
  9. 时间序列分解 | Python实现奇异谱分析(SSA)分解时间序列
  10. Apache Ranger:统一授权管理框架
  11. PTA数据结构7.1给定一个初始为空的栈和一系列压栈、弹栈操作,请编写程序输出每次弹栈的元素。栈的元素值均为整数。
  12. 菜鸟教程php模拟器,史上最强劲的android模拟器命令详解
  13. el-tree处理大量数据
  14. 三维建模软件之比较:和SketchUp、Revit建模软件相媲美 3D 地图 可视化 ThingJS
  15. 『Others』一键关闭所有应用程序
  16. 《融智学进阶文集》01:间接计算模型和间接形式化方法
  17. 第2期-通过去哪儿爬取机票价格
  18. B - Triple Shift(偶排列)
  19. 谷歌身份验证器代码实现
  20. 常见的进制以及进制转换

热门文章

  1. 谷歌、百度、必应的搜索技巧
  2. 同事间一些搞笑的事情
  3. 服务器怎么安装exis系统,exis 服务器安装
  4. java秃顶_【本人秃顶程序员】在Java中使用函数范式提高代码质量
  5. 2019世界区块链大会•乌镇第2日金句集锦
  6. 基于ChatGPT实现微信聊天机器人
  7. 结对项目——进一步完善四则运算
  8. 图片裁剪指定矩形区域(Python)
  9. 微信小程序-轮播图的实现
  10. 有效扩展:来自预训练和微调变换器的见解、rct.ai训练出5亿参数的BERT-X模型