Docker安装配置Elasticsearch
参考db数据库 对Elasticsearch初步理解
DB | ES |
---|---|
数据库 | index(索引) |
数据表 | types(类型) |
行(记录) | documents(文档) |
列(字段) | fields(属性) |
下载es和kibana镜像文件
docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2
创建es挂载的目录,并填入信息
mkdir -p /data/elasticsearch/config
mkdir -p /data/elasticsearch/data
echo "http.host: 0.0.0.0" >> /data/elasticsearch/config/elasticsearch.yml
其中 “http.host: 0.0.0.0” :表示es可以被远程的任何机器进行访问
创建es容器并启动
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elasticsearch/data:/usr/share/elasticsearch/data -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.6.2
–name :给容器取个名
-p 9200:9200 -p 9300:9300:暴露出来的端口号
-e “discovery.type=single-node”:设置为单节点模式
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":设置占用的内存大小,初始值,最大值(很重要,不设置的话可能会将内存全部占用)
-v /…/elasticsearch.yml:/…/elasticsearch.yml:将容器内部yml与外部进行挂载
-v /…/data:/…/data:将容器内部data与外部进行挂载
-v /…/plugins:/…/plugins :将容器内部以后需要安装插件目录与外部进行挂载
-d elasticsearch:7.6.2:后台启动es
启动es可能会不成功(文件夹访问权限问题)
1.docker ps 未成功启动的话,
2.再看一下日志 docker logs elasticsearch
3.发现(ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];)表示拒绝访问,这个时候我们应该将 /data/elasticsearch下的文件夹给修改访问权限 (即 : chmod -R 777 /data/elasticsearch/)
4.重新使用 ll 命令查看权限
5.先查看,后重新启动es : docker ps -a , docker start 78b09250c9e1
6.过一小会重新查看日志,没错之后进行访问http://192.168.65.128:9200/,得到数据就安装配置成功了!
kibana可视化配置
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.65.128:9200 -p 5601:5601 -d kibana:7.6.2
–name kibana :取名字
-e ELASTICSEARCH_HOSTS=http://192.168.65.128/:9200:一定要修改为自己的虚拟机地址
-d kibana:7.6.2 :后台启动
等一小会输入:http://192.168.65.128:5601 启动完成!
可能会用到的一些命令
查看正在运行的所有实例: docker ps -a
删除某一个正在运行的实例: docker rm -f 3e4e8c05e20e
进入某一个实例内部: docker exec -it 58d26f619549 /bin/bash
重启某一个实例: docker restart 97f827b8b72d
重启docker容器: systemctl restart docker