docker安装elasticsearch7.4.2

本文档详细介绍了如何使用Docker下载并启动Elasticsearch和Kibana,包括设置内存、目录挂载、配置文件修改以及解决权限问题。在启动Elasticsearch时,特别提到了设置单节点模式、内存限制以及允许远程访问。当遇到权限错误时,通过修改挂载目录的权限解决了问题。最后,启动Kibana并确保其与Elasticsearch版本对应。
摘要由CSDN通过智能技术生成

注:启动虚拟机前可以先在设置-系统-内存中调节虚拟机的内存 要下载的es和kibana比较大

1.下载镜像

docker pull elasticsearch:7.4.2 #存储和检索数据 
docker pull kibana:7.4.2 #可视化检索数据

2.设置目录挂载

mkdir -p /mydata/elasticsearch/config # 三条命令一句执行完后再执行下一句   前两句先创建容器中目录要挂在到外部的哪个文件
mkdir -p /mydata/elasticsearch/data 
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml   #将echo "http.host: 0.0.0.0"这条写入es配置文件  表示允许远程的任何机器访问es  之前安装mysql redis这些也需要设置运行所有远程机器访问 不然会拒绝访问
#注意   这里host: 和 0.0.0.0之间有个空格

3.启动es

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

注:

  • 9200访问es api的端口号 9300es集群节点互相通信的端口号 -e设置参数
  • single-node表示以单节点方式启动es
  • "-Xms64m -Xmx512m"表示启动es时 设置初始内存64m 最大内存512m 不设置的话一启动es会将整个虚拟机占满
  • -v就是目录挂载 -d以 elasticsearch:7.4.2镜像后台启动es

4.启动报错修改权限

使用上述docker run 命令启动成功后 通过浏览器 http://ip:9200访问失败 再 进入虚拟机查看docker ps发现es已经停掉了
使用下面 查看错误日志

docker logs elasticsearch
docker logs es的容器id或容器id的前几个数字 只要这几个数字只对应es一个容器就行 

权限访问被拒绝 我们es容器里的数据 datanodes这些是挂载到外面 的 但由于权限问题访问被拒绝了
在这里插入图片描述
我们进入/mydata/elasticsearch 使用 ll 查看每个文件夹的权限
ll就是 ls -l 显示当前目录下文件的详细信息

使用如下命令更改权限:

chmod -R 777 /mydata/elasticsearch/  #修改文件夹权限  改成任何人所在的任何组都可读可写可执行  /mydata/elasticsearch/下的内容

linux drwxr-xr-x意思如下:
第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道。
后面的分三个三个来看,即 rwx 、r-x 、r-x。
第一个: root :r 是可读,w 是可写,x 是可执行,rwx 意思是可读可写可执行。
第二个: 一般用户(用户组):r-x 是可读可执行不可写。
第三个: 其他用户,r-x 是可读可执行不可写。
综合起来就是权限设置为:文件所有者(root)可读可写可执行,与文件所有者同属一个用户组的其他用户可读可执行,其它用户组可读可执行。

在这里插入图片描述
修改权限后重新启动容器

docker start 容器名/容器id/容器id的前几个数字

因为容器已经创建 不用使用docker run
docker run包含 docker create 和 docker start
可以使用 docker ps -a 查询所有包括没启动的容器

启动后过一会儿查看日志发现没有错误

在浏览器访问 http://ip:9200 访问后直接显示或让下载一个内容如下的文件 说明这次启动es成功
在这里插入图片描述
启动kibana kibana和es的版本一定要对应

docker run --name kibana 
-e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 
-p 5601:5601 \ 
-d kibana:7.4.2 
#http://192.168.56.10:9200 一定改为自己虚拟机的地址
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值