ES & 安装
简介
数据的分类
在计算机信息化系统中,我们常接触到的数据,主要有一下三种
1. 结构化数据
是指由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理; 也称作行数据,一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。一般是存入都到 mysql 中;
2.非结构化数据
非结构化数据,是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、HTML、各类报表、图像和音频/视频信息等等。还有一些比如日志等等,一般是存储在 NoSQL
数据库中。
3.半结构化数据
半结构化数据,是结构化数据的一种形式,虽不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,也被称为自描述的结构。
常见的有 xml
和 json
<person>
<name>A</name>
<age>13</age>
<gender>female</gender>
</person>
安装 es 和 Kibana
在 linux 下安装 es 相对比较繁琐,本文使用 docker
安装, 借鉴Docker下安装ElasticSearch和Kibana
推荐装方法
由于es
安装过程,相对来说比较繁琐,即使使用docker
安装,仍然需要改动较多的配置文件,因此,本文已经写好了相关的 docker-compose
部署文件和相关的配置文件也已经修改好了,放在了 码云
上,直接下载启用即可。连接如下
https://www.cnblogs.com/rush-peng/p/16748193.html
如果想自己动手装装试试,可以按照下面的方法一步步的安装
安装 ES
1. 拉取镜像并启动 es
docker pull elasticsearch:7.2.0 # 拉取 es 镜像
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0 #使用单例模式,后台启动 es
测试是否启动成功:
curl http://localhost:9200
注意如果要外访访问,需要打开跨域请求
2. 允许跨域
进入容器,修改elasticsearch.yml文件。
docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml
在elasticsearch.yml的文件末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"
安装 ik 分词器
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
"注意:" lasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。
cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
exit
docker restart elasticsearch
如果是因为网络原因不好可以,可以使用离线版的安装方式,离线包我放在了网盘里
链接:https://pan.baidu.com/s/1WdwYsYTgARB9KZOhb_JV1Q
提取码:ludr
将上述的包解压后,放在容器内的 /usr/share/elasticsearch/plugins/ik
路径下即可
修改配置后重启容器
docker restart elasticsearch
如果docker 不太稳定,可以在启动的时候,就配置让其自动重启,命令如下
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --restart=always -d elasticsearch:7.2.0
安装 Kibana
下载并启动镜像
docker pull kibana:7.2.0 # 拉取镜像
docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0 # 连接到es 比国内切动
docker start kibana #启动 kibanan
启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了。
Kibana的汉化
进入容器内部,修改配置文件即可
vi config/kibana.yml
# 在下面添加这句话
i18n.locale: "zh-CN"
# 要把 es 的地址换掉。
elasticsearch.hosts: [ "http://172.18.0.2:9200" ]