【ELK】【docker】【elasticsearch】2.使用elasticSearch+kibana+logstash+ik分词器+pinyin分词器+繁简体转化分词器 6.5.4 启动 ELK+logstash概念描述
官网地址: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
====================================================================================================
【ELK】【docker】【elasticsearch】2.使用elasticSearch+kibana+logstash+ik分词器+pinyin分词器+繁简体转化分词器 6.5.4 启动 ELK+logstash概念描述的更多相关文章
- ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置
注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0.kibana-6.0.0-linux-x86_64.logstash-6.0.0.tar 2.Elast ...
- 使用Docker安装ElasticSearch和可视化界面Kibana【图文教学】
一.前言 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并 ...
- ELK日志分析系统(4)-elasticsearch数据存储
1. 概述 logstash把格式化的数据发送到elasticsearch以后,elasticsearch负责存储搜索日志数据 elasticsearch的搜索接口还是很强大的,这边不详细展开,因为k ...
- 服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana
服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana https://www.cnblogs.com/xishuai/p/elk- ...
- 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用
一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...
- ELK学习实验002:Elasticsearch介绍及单机安装
一 简介 ElasticSearch是一个基于Luncene的搜索服务器.它提供了一个分布式多用户能力全文搜索引擎,基于RESTful web接口,ElsticSearch使用Java开发的,并作为A ...
- docker上安装elasticsearch和ik分词器插件和header,实现分词功能
docker run -di --name=tensquare_es -p 9200: -p 9300:9300 elasticsearch:5.6.8 创建elasticsearch容器(如果版本不 ...
- Elasticsearch 插件head和kibana
本次安装在win7下,linux操作差不多. Elasticsearch的版本是6.5.1 一.前置条件 1.安装nodejs,如果已经安装了,检查一下版本,最好大于6以上,不然后面会失败,官网上已经 ...
- 搜索引擎elasticsearch + kibana + X-pack + IK安装部署
目录 准备安装环境 配置启动 启动elasticsearch 启动kibana 启用X-pack 安装使用IK 使用示例 官方Clients 准备安装环境 这次我们安装以下软件或插件: elastic ...
随机推荐
- express中间件代理实现跨域
前端代码 var xhr = new XMLHttpRequest(); xhr.open('post', 'http://localhost:3000', true); xhr.onreadysta ...
- 排序算法的JS实现
排序算法是基础算法,虽然关键在于算法的思想而不是语言,但还是决定借助算法可视化工具结合自己常用的语言实现一下 1.冒泡排序 基本思路:依次比较两两相邻的两个数,前面数比后面数小,不变.前面数比后面数大 ...
- nio--自己总结
阻塞/非阻塞 + 同步/异步 其实,这两者存在本质的区别,面向的对象是不同的. 阻塞/非阻塞:进程/线程需要操作的数据如果尚未就绪,是否妨碍了当前进程/线程的后续操作. 同步/异步:数据如果尚未就 ...
- thinkphp AOP(面向切面编程)
AOP: 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软 ...
- mysql 日期操作 增减天数、时间转换、时间戳(转换)
http://hi.baidu.com/juntao_li/item/094d78c6ce1aa060f6c95d0b MySQL datediff(date1,date2):两个日期相减 date1 ...
- day11--RabbitMQ、Redis
RabbitMQ:就是消息队列与Python里面的queue功能类似.线程和进程queue只能Python自己使用:不同机器和程序传递消息就要使用RabbitMQ了,中间传递. RabbitM ...
- jQuery库冲突
jQuery库冲突解决办法 一次面试中面试官问到jQuery和别的库冲突怎么解决?虽然以前看过,但是我已经不记得了. 我的思路就是如果让我来设计,那我就用一个默认值$,不传参数,那就用$,最后就挂 ...
- php mysql \t 转义问题
记录一个事情(怕是只有我自己知道我在说什么). mysql 中存 \t 代表\t 下图 用php从mysql取出来的时候,此时还在array中 \\t 下图 json_encode之后才会把\\t变成 ...
- 搭建基于MyEclipse的Hadoop开发环境
不多说,直接上干货! 前面我们已经搭建了一个伪分布模式的Hadoop运行环境.请移步, hadoop-2.2.0.tar.gz的伪分布集群环境搭建(单节点) 我们绝大多数都习惯在Eclipse或MyE ...
- ADNI以及study design简介
相关名词: MCI:轻度认知功能障碍 EMCI:早期认知障碍 MCI:轻度认知障碍 LMCI:晚期认知障碍 CN:认知正常的志愿者 DTI:doppler tissue imaging,多普勒组织显像 ...