这里写自定义目录标题
前言
在windwos下,ubuntu下都启动失败了,所以决定直接安装docker镜像,但是也不能直接按照Elasticsearch官网的教程来安装镜像,因为启动容器的时候也失败了,最后直接去docker hub找的镜像
一、Elastic Search和Kibana入门
1.1 安装过程
https://hub.docker.com/_/elasticsearch
也是官方镜像
(base) 用户名@ubuntu:~$ docker pull elasticsearch:8.5.1
8.5.1: Pulling from library/elasticsearch
eaead16dc43b: Pull complete
965e7f775955: Pull complete
20b7f2b20b80: Pull complete
01164aa77a22: Pull complete
0af1ff287ecd: Pull complete
1e38c4483f8a: Pull complete
ab9cb0f94a82: Pull complete
00e00cd6fa21: Pull complete
b80b815049dd: Pull complete
Digest: sha256:42b0e010a68cdbf951f273a4cc2320924d0873a6e13da7988c362f2f2e619f26
Status: Downloaded newer image for elasticsearch:8.5.1
docker.io/library/elasticsearch:8.5.1
# 创建一个网络
docker network create elastic
# 启动容器,并加入那个网络,-e "discovery.type=single-node"这个一定要加,不然启动就会失败
docker run -d --name es01 --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.5.1
#查看容器是否正常后台运行
docker ps
(base) 用户名@ubuntu:~/software/elasticsearch-8.5.1$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2107a89a4b7 elasticsearch:8.5.1 "/bin/tini -- /usr/l…" 29 minutes ago Up 11 minutes 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp es01
查看网页
输入ip+9200端口
如果无法查看,网页打不开
参考教程 https://blog.csdn.net/nana1253431195/article/details/126359042
# 重新以root用户身份进入容器
docker exec -it -u root es01 /bin/bash
# 先更新软件源
apt-get update
# 安装Vim
apt-get install vim
# 修改配置文件(在config文件夹)
root@f2107a89a4b7:/usr/share/elasticsearch/config# vim elasticsearch.yml
xpack.security.http.ssl:enabled false
xpack.security.enabled false
# 内存那个自己看情况
# 按照教程修改完保存
#退出容器,并重启容器
docker restart es01
再重新打开网页(建议重新以无痕模式打开)
1.2 配置说明
elasticsearch.yml
- cluster.name 集群名称,以此作为是否为同一集群的判断条件
- node.name 节点名称,以此作为集群中不同节点的区分条件
- network.host/http.port 网络地址和端口,用于http和transport服务使用
- path.data 数据存储地址
- path.log 日志存储地址
1.3 Kibana 安装过程
官方镜像:https://hub.docker.com/_/kibana/tags
# 拉取镜像
docker pull kibana:8.5.1
# 启动容器(如果要连接docker-compose中的容器,最好加入那个网络)
# ELASTICSEARCH_HOSTS是elasticsearch的地址
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.1.81:9200 -p 5601:5601 -d kibana:8.5.1
# 进入容器内部
docker exec -it -u root kibana /bin/bash
# 修改配置文件,将网页设置为中文
root@id/usr/share/kibana/config# vim kibana.yml
# 在末尾添加这一句
i18n.locale: "zh-CN"
# 保存退出,并重启容器
docker restart kibana
# 打开浏览器输入地址+端口号
1.4 Kibana配置说明
- 配置文件位于
config
文件夹中 kibana.yml
关键配置说明:
-sever.host
/server.port
访问kibana
用的地址
和端口
-elasticsearch.url
待访问elasticsearch
的地址
- 常用功能说明
- Discover数据搜索查看
- Visualize图表制作
- Dashboard仪表盘制作
- Timelion时序数据的高级可视化分析
- DevTools开发者工具
- Management 配置
1.5 Elasticsearch 术语介绍与CRUD实际操作
常用术语
- Document 文档数据
- Index 索引
- Type 索引中的数据类型
- Field 字段,文档的属性
- Query DSL 查询语法
CURD操作(增删改查)
参考教程:https://blog.csdn.net/m0_45245077/article/details/124021871
新增
PUT test1 # 创建索引库
{
"mappings": {
"properties": {
"name":{
"type": "text" # 指定文档的字段类型
},
"age":{
"type": "long"
},
"sex":{
"type": "text"
}
}
}
}
# 创建索引并自动指定类型
# 1就好比数据库的表内的ID
# _doc就代表默认类型
PUT test2/_doc/1
{
"name":"测试默认类型",
"age":18,
"sex":"男"
}
查询
# 获取索引库的基本信息
GET test1
# 查询索引库指定文档数据
GET test2/_doc/1
# 查询索引下所有的文档
GET /test3/_doc/_search
修改
# _update 一定要加 否则其他数据会被覆盖
POST /test2/_doc/1/_update
{
"doc":{
"name":"测试修改"
}
}
GET /test2/_doc/1 # 查询修改结果
删除
# 删除指定的索引库
DELETE /test1
# 删除指定索引库内的指定文档
DELETE /test2/_doc/1