docker安装elasticsearch

文章目录

  • 一、安装elasticsearch
    • 1、下载镜像文件
    • 2、创建搭载目录
    • 3、 创建实例
    • 4、错误分析
    • 5、查看运行成功的结果
  • 二、安装Kibana
    • 1、下载镜像文件
    • 2、安装Kibana容器

一、安装elasticsearch

1、下载镜像文件

elasticsearch是用来存储和检索数据的

docker pull elasticsearch: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,代表能被远程的任何机器访问,>代表写入到,elasticsearch.yml中(相当于es的配置文件)

3、 创建实例

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是发送http请求es的端口,9300是es在分布式集群状态下节点之间的通信端口
  • -e指定参数,single-node指定es单节点运行
  • ES_JAVA_OPTS指定es初始内存和最大内存,如果不指定会占用全部内存导致整个虚拟机卡死
  • -v目录挂载
  • -d,后台启动es用elasticsearch:7.4.2镜像

4、错误分析

创建好elasticsearch容器后,我这里出现了一些问题,elasticsearch容器无法正常启动
在这里插入图片描述
分析原因
使用docker logs elasticsearch查看原因

docker logs elasticsearch

结果:Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"
docker安装elasticsearch_第1张图片
这是因为我们无法通过linux主机访问到容器的这个目录/usr/share/elasticsearch/data/nodes
可以看到下图,权限是不够的
docker安装elasticsearch_第2张图片
所以我们需要更改权限,将所有用户的权限改为可读可写

chmod -R 777 /mydata/elasticsearch/

此时再重启重启即可成功

docker start elasticsearch

5、查看运行成功的结果

运行:(如果是服务器,一定要开通安全组)

http://IP:9200/

返回的结果是一串json数据
docker安装elasticsearch_第3张图片

二、安装Kibana

安装完elasticsearch后,我们继续安装Kibana,这样在操作elasticsearch时,就能通过可视化界面去操控

1、下载镜像文件

docker pull kibana:7.4.2

2、安装Kibana容器

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://自己的IP:9200 -p 5601:5601 -d kibana:7.4.2

注意点:IP地址填自己的刚才装elasticsearch的IP地址,若是服务器,在安全组开通5601端口

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://120.79.155.9:9200 -p 5601:5601 -d kibana:7.4.2

你可能感兴趣的:(docker,elasticsearch,docker,搜索引擎)