目录
Elasticsearch安装_安装ES服务
Elasticsearch安装_安装kibana
Elasticsearch安装_Docker安装
Elasticsearch常用操作_索引操作
Elasticsearch常用操作_文档操作
Elasticsearch安装_安装ES服务
准备工作
1、 准备一台搭载有CentOS7系统的虚拟机,使用XShell连接虚拟机
2、 关闭防火墙,方便访问ES
#关闭防火墙:
systemctl stop firewalld.service
#禁止防火墙自启动:
systemctl disable firewalld.service
3、 配置最大可创建文件数大小
#打开系统文件:
vim /etc/sysctl.conf
#添加以下配置:
vm.max_map_count=655360
#配置生效:
sysctl -p
4、由于ES不能以root用户运行,我们需要创建一个非root用户,此处创建一个名为es的用户:
#创建用户:
useradd es
安装服务
1、 使用rz命令将linux版的ES上传至虚拟机
2、 解压ES
#解压:
tar -zxvf elasticsearch-7.17.0-linuxx86_64.tar.gz
#重命名:
mv elasticsearch-7.17.0 elasticsearch1
#移动文件夹:
mv elasticsearch1 /usr/local/
#es用户取得该文件夹权限:
chown -R es:es /usr/local/elasticsearch1
3、启动ES服务:
#切换为es用户:
su es
#进入ES安装文件夹:
cd /usr/local/elasticsearch1/bin/
#启动ES服务:
./elasticsearch
#查询ES服务是否启动成功
curl 127.0.0.1:9200
实时学习反馈
1. 在Linux系统中,elasticsearch必须以用户运行
A root
B 非root
C 任意
D 以上说法都不对
Elasticsearch安装_安装kibana
Kibana是一款开源的数据分析和可视化平台,设计用于和 Elasticsearch协作。我们可以使用Kibana对Elasticsearch索引中的数据进行搜索、查看、交互操作。
1、 使用rz工具将Kibana压缩文件上传到Linux虚拟机
2、 解压
tar -zxvf kibana-7.17.0-linux-x86_64.tar.gz -C /usr/local
3、修改配置
# 进入Kibana解压路径
cd /usr/local/kibana-7.17.0-linux-x86_64/config
# 修改配置文件
vim kibana.yml
# 加入以下内容
# kibana主机IP
server.host: "虚拟机IP"
# Elasticsearch路径
elasticsearch.hosts: ["http://127.0.0.1:9200"]
4、启动:
kibana不能以root用户运行,我们给es用户设置kibana目录的 权限,并使用es用户运行kibana
# 给es用户设置kibana目录权限
chown -R es:es /usr/local/kibana-7.17.0-linux-x86_64/
# 切换为es用户
su es
# 启动kibana
cd /usr/local/kibana-7.17.0-linux-x86_64/bin/
./kibana
5、访问kibana:http://虚拟机IP:5601
6、 点击 Management => Index Management 可以查看es索引信息。
实时学习反馈
1. 关于Kibana,说法错误的是
A 是一款开源的数据分析和可视化平台
B 用于和Elasticsearch协作
C 用于和solr协作
D 可以对Elasticsearch索引中的数据进行搜索
Elasticsearch安装_Docker安装
安装Elasticsearch
1、在Centos7中安装docker
# 安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 启动docker
systemctl start docker
2、 拉取镜像
docker pull elasticsearch:7.17.0
3、启动容器
# docker容器间建立通信
docker network create elastic
# 创建es容器
docker run --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --name='elasticsearch' --net elastic --cpuset-cpus="1" -m 1G -delasticsearch:7.17.0
安装Kibana
1、拉取镜像
docker pull kibana:7.17.0
2、启动容器
docker run --name kibana --net elastic --link elasticsearch:elasticsearch -p 5601:5601 -d kibana:7.17.0
3、访问kibana:http://虚拟机IP:5601
Elasticsearch常用操作_索引操作
Elasticsearch是使用RESTful风格的http请求访问操作的,请求参数 和返回值都是Json格式的,我们可以使用kibana发送http请求操作 ES。
创建没有结构的索引
路径:ip地址:端口号/索引名
注:在kibana中所有的请求都会省略 ip地址:端口号 ,之后的路径我们省略写 ip地址:端口号
请求方式:PUT
为索引添加结构
POST /索引名/_mapping
{
"properties":{
"域名1":{
"type":域的类型,
"store":是否存储,
"index":是否创建索引,
"analyzer":分词器
},
"域名2":{
...
}
}
}
实时学习反馈
1. Elasticsearch是使用访问操作的
A 普通风格的http请求
B 普通风格的ssh请求
C RESTful风格的http请求
D RESTful风格的ssh请求
2. Elasticsearch请求参数和返回值的数据格式为
A xml
B yaml
C html
D json
创建有结构的索引
PUT /索引名
{
"mappings":{
"properties":{
"域名1":{
"type":域的类型,
"store":是否单独存储,
"index":是否创建索引,
"analyzer":分词器
},
"域名2":{
...
}
}
}
}
删除索引
DELETE /索引名
Elasticsearch常用操作_文档操作
新增/修改文档
POST /索引/_doc/[id值]
{
"field名":field值
}
注:id值不写时自动生成文档id,id和已有id重复时修改文档
根据id查询文档
GET /索引/_doc/id值
删除文档
DELETE /索引/_doc/id值
实时学习反馈
1. 在Elasticsearch中,删除文档的请求方式为
A POST
B PUT
C GET
D DELETE
2. 在Elasticsearch中,查询文档的请求方式为
A POST
B PUT
C GET
D DELETE
根据id批量查询文档
GET /索引/_mget
{
"docs":[
{"_id":id值},
{"_id":id值}
]
}
查询所有文档
GET /索引/_search
{
"query": {
"match_all": {}
}
}
修改文档部分字段
POST /索引/_doc/id值/_update
{
"doc":{
域名:值
}
}
注:
Elasticsearch执行删除操作时,ES先标记文档为deleted状态, 而不是直接物理删除。当ES存储空间不足或工作空闲时,才会执行物理删除操作。 Elasticsearch执行修改操作时,ES不会真的修改Document中的数据,而是标记ES中原有的文档为deleted状态,再创建一个 新的文档来存储数据。
实时学习反馈
1. 在Elasticsearch中,删除文档的原理为
A 直接物理删除
B 先标记为deleted状态,之后再执行物理删除
C 只标记为deleted状态,不进行物理删除
D 以上说法都不正确
2. 在Elasticsearch中,根据id批量查询文档的请求路径为
A /索引/_mget
B /索引/_get
C /索引/_search
D /索引/_doc/id值