docker安装ES和kibana
1、首先拉取镜像:
sudo docker pull elasticsearch:7.12.0 sudo docker pull kibana:7.12.0
2、elasticsearch:7.12.0:我安装的版本是7.12.0,可以根据实际的情况安装
创建docker容器挂在的目录
sudo mkdir -p /opt/elasticsearch/config sudo mkdir -p /opt/elasticsearch/data sudo mkdir -p /opt/elasticsearch/plugins
3、配置文件:
echo "http.host: 0.0.0.0" >> /opt/elasticsearch/config/elasticsearch.yml
4、创建容器:
sudo docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \ -v /opt/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /opt/elasticsearch/data:/usr/share/elasticsearch/data \ -v /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.12.0
说明:
- -p 端口映射
- -e discovery.type=single-node 单点模式启动
- -e ES_JAVA_OPTS=“-Xms84m -Xmx512m”:设置启动占用的内存范围
- -v 目录挂载
- -d 后台运行
查看启动详情
docker ps 查看是否启动
docker logs elasticsearch 启动日志查询
docker restart elasticsearch 重启
docker exec -it elasticsearch bash 进入
可能会出现的安装异常
异常一:文件夹未设置所有用户读写执行权限
,处理:sudo chmod -R 777 /opt/elasticsearch/
异常二:echo “http.host:0.0.0.0” ==》echo “http.host: 0.0.0.0”;“:”后面有个空格!
异常三:因虚拟内存太少
导致,处理:sudo sysctl -w vm.max_map_count=262144
=========================================================
二 kabana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.232.109:9200 -p 5601:5601 \
-d kibana:7.12.0
用docker启动kibana,
启动完成后,过了很久, 浏览器输入http://192.168.56.10:5601/ , 还是不能访问kibana
用docker logs 查看日志信息,发现报错
“Unable to revive connection: http://elasticsearch:9200/”}
应该是容器启动的时候, es主机的没有设置正确, 后来才发现是因为ELASTICSEARCH_HOSTS 末尾的少打了.
解决办法: 进入kibana的容器修改es的节点信息.
进入容器
docker exec -it d1d /bin/bash
d1d为容器的id