安装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检查一下有没有,然后再访问一下,就好了

这样就可以了

相关推荐
boonya3 小时前
Elasticsearch核心原理与面试总结
大数据·elasticsearch·面试
LQ深蹲不写BUG7 小时前
ElasticSearch 基础内容深度解析
大数据·elasticsearch·搜索引擎
2501_920047037 小时前
git在Linux中的使用
linux·git·elasticsearch
和科比合砍81分1 天前
ES模块(ESM)、CommonJS(CJS)和UMD三种格式
大数据·elasticsearch·搜索引擎
AAA修煤气灶刘哥2 天前
MySQL 查文本查哭了?来唠唠 ES 这货:从 “啥是 ES” 到 Java 撸代码,一篇整明白!
java·后端·elasticsearch
Elasticsearch2 天前
什么是上下文工程 (Context Engineering)?
elasticsearch
白毛大侠2 天前
如何安全地删除与重建 Elasticsearch 的 .watches 索引
大数据·elasticsearch·jenkins
Elastic 中国社区官方博客2 天前
Elasticsearch 的 JVM 基础知识:指标、内存和监控
java·大数据·elasticsearch·搜索引擎·全文检索
Arthurmoo2 天前
Git常用命令大全:高效开发必备
大数据·elasticsearch·搜索引擎