官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode

1.拉取镜像

docker pull elasticsearch:6.5.
docker pull kibana:6.5.

2.启动容器

docker run  -d --name es1  -p 9200:9200 -p 9300:9300 --restart=always -e "discovery.type=single-node" elasticsearch:6.5.4
docker run -d  -p 5601:5601 --name kibana --restart=always --link es1:elasticsearch  kibana:6.5.4

如果启动ES仅是测试使用,启用单节点即可。

如果启动ES是要给生产任务使用,需要启动ES集群。ES  6.5.4启动集群文章

3.访问地址

http://192.168.92.130:5601/status

4.安装ik分词器

进入es容器

sudo docker exec -it es1 /bin/bash

进入plugins目录

cd plugins/

此时查看插件目录下,有两个插件的目录

下载对应es版本的ik的压缩包【安装插件的版本需要与es版本一致】

wget http://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip

创建ik目录,用于存放解压ik压缩包的文件

mkdir elasticsearch-analysis-ik

解压ik压缩包到指定目录

unzip elasticsearch-analysis-ik-6.5..zip -d elasticsearch-analysis-ik

删除源压缩包

rm -f elasticsearch-analysis-ik-6.5..zip

exit  退出容器 重启es容器 查看启动日志加载插件信息

exit
docker restart es1
docker logs -f es1

验证ik分词器是否安装成功【analyzer参数值:ik_max_word 如果未安装成功,请求就会报错!】

两种粗细粒度分别为:

  ik_max_word

  ik_smart

POST     http://192.168.92.130:9200/_analyze

请求体:

{
"analyzer":"ik_max_word",
"text":"德玛西亚之力在北韩打倒了变形金刚"
}

结果:

{
"tokens": [
{
"token": "德",
"start_offset": ,
"end_offset": ,
"type": "CN_CHAR",
"position":
},
{
"token": "玛",
"start_offset": ,
"end_offset": ,
"type": "CN_CHAR",
"position":
},
{
"token": "西亚",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "之力",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "在",
"start_offset": ,
"end_offset": ,
"type": "CN_CHAR",
"position":
},
{
"token": "北韩",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "打倒",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "倒了",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "变形金刚",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "变形",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
},
{
"token": "金刚",
"start_offset": ,
"end_offset": ,
"type": "CN_WORD",
"position":
}
]
}

ik分词器成功安装

附加一个:

查看某个index下某个type中的某条document的某个属性的属性值 分词效果:

格式如下:

你的index/你的type/document的id/_termvectors?fields=${字段名}
http://192.168.92.130:9200/swapping/builder/6/_termvectors?fields=buildName

【注意fields参数对应的是数组】

5.安装pinyin分词器

进入容器

sudo docker exec -it es1 /bin/bash

进入插件目录

cd plugins/

创建目录elasticsearch-analysis-pinyin

mkdir elasticsearch-analysis-pinyin

进入目录elasticsearch-analysis-pinyin,下载pinyin分词器压缩包【注意版本和es版本一致】

cd elasticsearch-analysis-pinyin/
wget https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.5.4/elasticsearch-analysis-pinyin-6.5.4.zip

解压压缩包,解压完成删除压缩包

unzip elasticsearch-analysis-pinyin-6.5..zip
rm -f elasticsearch-analysis-pinyin-6.5..zip

退出容器,重启es,查看日志

exit
docker restart es1
docker logs -f es1

验证pinyin分词器是否安装成功

结果:

{
"tokens": [
{
"token": "de",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "dmxyzlzbhddlbxjg",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "ma",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "xi",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "ya",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "zhi",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "li",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "zai",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "bei",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "han",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "da",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "dao",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "le",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "bian",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "xing",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "jin",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
},
{
"token": "gang",
"start_offset": ,
"end_offset": ,
"type": "word",
"position":
}
]
}

证明pinyin插件安装成功

6.繁简体转化分词器

进入es容器

sudo docker exec -it es1 /bin/bash

进入plugins目录

cd plugins/

创建繁简体转化目录

mkdir elasticsearch-analysis-stconvert

进入目录

cd elasticsearch-analysis-stconvert/

下载插件压缩包

wget https://github.com/medcl/elasticsearch-analysis-stconvert/releases/download/v6.5.4/elasticsearch-analysis-stconvert-6.5.4.zip

解压压缩包

unzip elasticsearch-analysis-stconvert-6.5.4.zip

解压完成后,移除原压缩包

rm -f elasticsearch-analysis-stconvert-6.5.4.zip

退出容器

exit

重启es

docker restart es1

查看日志

检验繁简体转化是否安装成功

URL:POST

http://192.168.92.130:9200/_analyze

请求体:

{
"analyzer":"stconvert",
"text" : "国际电视台"
}

请求结果:

繁简体转化安装成功

7.安装启动logstash

docker拉取logstash

docker pull logstash:6.5.

启动logstash

docker run -d -p 5044:5044 -p 9600:9600 --restart=always --name logstash logstash:6.5.4

查看日志

docker logs -f logstash

查看日志可以看出,虽然启动成功,但是并未连接上es,

这就需要修改logstash中的对接配置

进入logstash容器内

docker exec -it logstash /bin/bash

进入config目录

cd /usr/share/logstash/config/

修改logstash.yml文件中的es.url

vi logstash.yml

修改url为自己的es所在IP:port

退出容器,重启logstash

exit
docker restart logstash

查看日志可以看到启动成功并且es连接池中刚刚配置的连接地址已经连接成功

回到kibana,查看ELK状态以及运转情况

OK,ELK搭建完成!!!

=================================================附录=============================================================================

一、ELK概念描述

看到这里,有很多地方都是迷迷糊糊的吧。

这里简单一说:

ELK是一整套的分布式日志分析平台的解决方案。

在ELK【都是开源软件】中,

E代表 es,用于存储日志信息【就是一个开源可持久化的分布式全文搜索引擎】

L代表logstash,用于收集日志信息【开源数据收集引擎】

K代表kibana,用于展示日志信息【开源的分析和可视化平台】

二、关于logstash插件的知识

这里就要了解一些logstash的知识logstash插件详解

而对于logstash的收集功能,其实是由它的一个一个插件完成的。而主体的三个插件配置就是input--->filter--->output,如下图所示。

其中input和output是必须的,而filter是非必须的。

input插件配置,是指定数据的输入源,配置标明要收集的数据是从什么地方来的。一个 pipeline是可以指定多个input插件的。

    input可以是stdin、file、kafka

filter插件配置,是对原始数据进行类型转化、删除字段、格式化数据的。不是必须的配置。

    filter可以是date、grok、dissect、mutate、json、geoip、ruby

output插件配置,是将数据输出到指定位置。

    output可以是stdout、file、elasticsearch

====================================================================================================

最新文章

  1. 转帖:DotNet 资源大全中文版
  2. 【转】用C写一个简单病毒
  3. 初转java随感(一)程序=数据结构+算法
  4. KnockoutJS中父元素有click绑定引起checked绑定时失效
  5. Machine Learning Algorithms Study Notes(2)--Supervised Learning
  6. 如何做一个avalon组件
  7. selenium读取txt文件的几种方式
  8. JSP重定向传递参数
  9. SpringJDBC
  10. 华为OJ:字符串合并处理
  11. SC命令执行出现Access is denied
  12. 百度地图 - demo
  13. C语言(按键获取与函数)
  14. 苹果新的编程语言 Swift 语言进阶(五)--控制流
  15. [转]gdb 调试 objc
  16. vim 配置快捷以使复制可用
  17. 【Spark2.0源码学习】-6.Client启动
  18. 安装 go 语言环境
  19. consul服务注册与发现
  20. 如何构建debian包

热门文章

  1. 使用配置文件启动MongoDB
  2. mac zsh环境配置java_home环境变量
  3. oracle中循环读出一个表的信息插入到另外一个表中
  4. MySQL缓存命中率概述
  5. yum list失败
  6. 【LOJ】#6434. 「PKUSC2018」主斗地
  7. sqoop1.4.6数据迁移
  8. mysql 事务隔离级别 详解
  9. 深入理解Git - 一切皆commit
  10. kotlin 安装 使用