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

这样就可以了

相关推荐
margu_1687 小时前
【Elasticsearch】es7.2 跨集群迁移大量数据方法二
elasticsearch
恼书:-(空寄7 小时前
深入理解 Elasticsearch 写入与查询机制
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客17 小时前
快速 vs. 准确:衡量量化向量搜索的召回率
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
1104.北光c°1 天前
深入浅出 Elasticsearch:从搜索框到精准排序的架构实战
java·开发语言·elasticsearch·缓存·架构·全文检索·es
IDIOT___IDIOT1 天前
关于 git 进行版本管理的时候 gitignore 写入忽略规则而不生效的问题
大数据·git·elasticsearch
不想看见4041 天前
Git 误删急救手册
大数据·git·elasticsearch
2401_891655811 天前
Git误操作急救手册大纲
大数据·elasticsearch·搜索引擎
贺小涛1 天前
Git代码提交规范和踩坑排水明沟
大数据·git·elasticsearch
逸Y 仙X1 天前
文章十一:ElasticSearch Dynamic Template详解
java·大数据·数据库·elasticsearch·搜索引擎·全文检索