ElasticSearch/Kibana/Logstash
文章 |
---|
Elasticsearch:官方分布式搜索和分析引擎 | Elastic |
ElasticSearch常用命令 - 简书 (jianshu.com) |
更简单的docker搭建elk+cerebro环境 - 小跑跑泡 - 博客园 (cnblogs.com) |
一、环境部署
建议使用docker,其他部署的方式屁事太多了,bug调的心情都不好了
Docker
先把国内源换上,然后
1 ElasticSearch/Kibana
## 拉镜像
docker pull elasticsearch:7.8.0
docker pull kibana:7.8.0
docker pull logstash:7.8.0
## 启动
docker run -d --name elasticsearch780 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.8.0
docker run -d --name kibana780 --link elasticsearch780:elasticsearch -p 5601:5601 kibana:7.8.0
这个链接可能还不够,我们进去kibana里面的config改一下IP指向(宿主机IP:Port),然后重启容器
访问http://192.168.247.177:5601/,开启你的春天
2 elasticsearch-analysis-ik
在线安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
3 Logstash(回头补充)
docker run -d --name=logstash780 -p 5044:5044 logstash:7.8.0
修改config文件
先不研究了,暂时没精力
4 cerebro
docker pull yannart/cerebro
docker run -d --name cerebro -p 9000:9000 yannart/cerebro
然后访问
http://192.168.247.177:9000/
简直酷的不行
5 更为简单的安装方法
docker pull sebp/elk
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m -it --name elk sebp/elk
Linux
# 官网下载包,解压
wget -i -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz
# 创建es用户,软件禁止使用Root用户启动
groupadd es
useradd es -g es
passwd es
# 目录赋权
chown -R es:es elasticsearch-7.4.0
# 进入config目录修改yml文件,追加如下配置
network.host: 0.0.0.0
http.port: 9200
equire explicit names when deleting indices:
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.ml.enabled: false
cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值
# 追加修改limits文件,不然启动时会出现error提示内存不足
# max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 5000
* hard nproc 5000
root soft nproc 5000
root hard nproc 5000
vim /etc/sysctl.conf
vm.max_map_count=262144
# 最后,进入bin目录,启动程序
./bin/elasticsearch
Windows
装这些东西挺烦的
第三个是可视化界面,可以不装
1 服务端安装
首先安装第一个
修改elasticsearch.yml文件
2 中文分词器ik安装
3 监控端kibana安装
这个比较无脑,改一个config文件的指向地址就行了,这里就不细说了
二、基本使用
目前SpringBootDataES那个模板已经预备弃用了,所以不要用那个了
2.1 相关名词
属性概念
关键字名称 | 名词解释 | 对应SQL |
---|---|---|
索引 index | 在我们建立索引之后,可以直接往索引中写入文档 | 库 |
类型 type | 字段的类型,例如是short类型还是integer类型 | 类型 |
字段 Field | 相当于是数据表的字段,字段在ES中可以理解为JSON数据的键 | 字段 |
映射mapping | 映射是对文档中每个字段的类型进行定义,类似说是short类型还是integer类型;;但是在es已经实现了动态映射,我们并不需要特意去创建映射,它也有相应的规则来应对映射,看下面的图片 | 表 |
文档(_doc) document | 在ES中相当于传统数据库中的行的概念,ES中的数据都以JSON的形式来表示,在MySQL中插入一行数据和ES中插入一个JSON文档是一个意思 | 实际数据 |
元数据 metadata | 一个文档不只有数据。它还包含了元数据(metadata)——关于文档的信息。三个必须的元数据节点是:index(文档存储位置)、type(类型)、id(文档的唯一标识) | 描述 |
HTTP方法
HTTP方法 | 说明 |
---|---|
GET | 获取请求对象的当前状态 |
POST | 改变对象的当前状态 |
PUT | 创建一个对象 |
DELETE | 销毁对象 |
HEAD | 请求获取对象的基础信息 |
自动映射规则
自动判断的规则如下
支持的类型如下
你学废了吗
倒排索引
2.2 Kibana操作使用
操作映射
# 创建索引
PUT person
# 查询索引
GET person
# 删除索引
DELETE person
# 查询映射
GET person/_mapping
# 索引库中添加字段
PUT person/_mapping
{
"properties":{
"address":{