安装es和kibana

1.上传,然后拉取(记得要在所在目录下)

2.docker images查看是否拉取成功

3.创建容器并启动

复制代码
docker run -d \
--name es \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v /path/to/es/data:/usr/share/elasticsearch/data \
elasticsearch:7.12.1

docker run -d \
--name kibana \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://es:9200" \
kibana:7.12.1

4.docker ps检查一下这两个有没有,如果没有那就是要启动一下

复制代码
docker start es
docker start kibana

然后在检查一下就好了

如果发现启动了过一会自动断掉了,可以 docker logs es检查一下

我这里是权限问题,为 /root 目录默认只有 root 用户有读写权限,而 Elasticsearch 容器内通常是以 elasticsearch 用户(UID 一般为 1000)运行的,该用户没有对 /root 目录的访问权限

所以我要创建一个新的有权限的目录来存放,但是之前的已经挂载好了,所以要先删掉,不然会重名,但是镜像不需要删掉,因为这里只是修改了挂载目录

1.停止并删除已存在的 es 容器

首先,使用以下命令停止 es 容器:

复制代码
docker stop es

2.删除该容器:

复制代码
docker rm es

3.创建新数据目录:在系统中选一个合适的位置(比如 /data/es_data),创建专门用于 Elasticsearch 数据持久化的目录

复制代码
mkdir -p /data/es_data

4.修改目录权限:让 Elasticsearch 容器内的 elasticsearch 用户(默认 UID/GID 为 1000)能访问该目录

复制代码
chown -R 1000:1000 /data/es_data

5.重新创建并启动 es 容器

复制代码
docker run -d \
--name es \
--network hm-net \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-v /data/es_data:/usr/share/elasticsearch/data \
elasticsearch:7.12.1

然后就可以了

如果访问不了,那可能就是端口没有开放,开放一下端口就好了

复制代码
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

然后要重启一下docker

然后再次启动es和kibana

复制代码
docker start es
docker start kibana

然后docker ps检查一下有没有,然后再访问一下,就好了

这样就可以了

相关推荐
好好沉淀10 小时前
Elasticsearch 中获取返回匹配记录总数
开发语言·elasticsearch
好好沉淀11 小时前
ES 脚本核心语法:ctx._source [‘group_id‘]
java·elasticsearch·script
刺客xs12 小时前
git 入门常用命令
大数据·git·elasticsearch
risc12345612 小时前
【Elasticsearch】LeafDocLookup 详述
大数据·elasticsearch·mybatis
阿珍爱上了阿强2.016 小时前
Elasticsearch 实战:客户数据索引设计与精准筛选查询实践
大数据·elasticsearch·搜索引擎
阿拉伯柠檬18 小时前
Git原理与使用(一)
大数据·linux·git·elasticsearch·面试
好好沉淀19 小时前
Elasticsearch (ES) 核心笔记
大数据·笔记·elasticsearch
那起舞的日子19 小时前
ElasticSearch系列-2-中文分词器和复合查询与高亮显示
elasticsearch·中文分词
wdfk_prog2 天前
解决 `git cherry-pick` 引入大量新文件的问题
大数据·git·elasticsearch
洛阳纸贵2 天前
JAVA高级工程师--Elasticsearch
大数据·elasticsearch·搜索引擎