感觉老师这一p讲解非常详细,因此做了笔记以供参考
下载镜像文件注意ES和Kibana两个版本要统一
docker pull elasticsearch:7.4.2 #存储和检索数据 docker pull kibana:7.4.2 #可视化检索数据创建ES实例
ElasticSearch
# 设置外部挂载文件夹 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data # echo这一块代表es可以被任何机器访问 # 将其写入配置文件 echo "http.host : 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml # 启动 # 9200访问api端口 9300是es节点之间通信端口 # -e添加参数:discovery.type=single-node 以单节点运行 # -e添加参数:ES_JAVA_OPTS很重要,不加的话ES将占用全部内存,所以需要提前为ES分配内存 # -v 挂载数据、配置和插件 docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -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
未启动成功,查看错误原因:
docker logs elasticsearch
原因为:
Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes
外部挂载的目录没有除root外没有写权限,因此开放权限:
# -R表示递归 777可读可写可执行 chmod -R 777 /mydata/elasticsearch/
重启容器
docker restart elasticsearch
可通过docker ps或在浏览器输入http://虚拟机IP:9200/检查一下
创建Kibana实例
# 这里注意192.168.56.10换成自己的虚拟机地址
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200
-p 5601:5601
-d kibana:7.4.2
成功后可以去浏览器输入http://虚拟机IP:5601/检查一下
好耶!成功啦(*^▽^*)!



