docker搭建ELK 7.1版本(出现的坑都有决绝方案)
admin
2023-03-30 11:21:21
0次

docker镜像地址:https://www.docker.elastic.co/#

首先安装docker-compose,使用pip安装docker-compose,因为pip可以自动对应版本问题

安装pip

yum -y install epel-release
yum -y install python-pip

确认版本

pip --version

更新pip

pip install --upgrade pip

安装docker-compose

pip install docker-compose 

查看版本

docker-compose version
下载elasticsearch
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.1.1
下载logstash
docker pull docker.elastic.co/logstash/logstash:7.1.1
下载kibana
docker pull docker.elastic.co/kibana/kibana:7.1.1

编写docker-compose.yml文件,在/opt/目录下新建一个elkDocker目录

mkdir  /opt/elkDocker

进入elkDocker目录

cd /opt/elkDocker

新建docker-compose.yml文件

vi docker-compose.yml

version: '2.2'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
container_name: elasticsearch7.1.1
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- esdata:/usr/share/elasticsearch/data
hostname: elasticsearch
restart: always
ports:
- 9200:9200
- 9300:9300
kibana:
image: docker.elastic.co/kibana/kibana:7.1.1
container_name: kibana7.1.1
environment:
- elasticsearch.hosts=http://elasticsearch:9200
hostname: kibana
depends_on:
- elasticsearch
restart: always
ports:
- "5601:5601"
logstash:
image: docker.elastic.co/logstash/logstash:7.1.1
container_name: logstash7.1.1
hostname: logstash
restart: always
depends_on:
- elasticsearch
ports:
- 9600:9600
- 5044:5044
volumes:
esdata:
driver: local

在yml文件所在目录执行

docker-compose up -d

出现done表示成功,docker-compose logs 查看日志(分别输出elk三个服务的日志)执行docker ps可以看到三个服务的运行状态

在浏览器输入http://IP:5601/

docker搭建ELK 7.1版本(出现的坑都有决绝方案)

需要注意情况如下:
1.不要下载docker官方的镜像,最好使用 elastic官方仓库里的镜像
2.如果出现启动不成功,先把其他两个注释掉,一个一个服务单独运行试试
3.logstash需要监听elasticsearch服务,不然logstash会自动停掉
4.logstash和kibana可以不用设置关联 elasticsearch 的环境变量,官网文档说如果是docker镜像有默认设置
5.如果自己修改了服务名称或者端口要记得修改默认的设置

下面开始安装ElasticSearch-Head

拉取ElasticSearch-Head镜像

docker pull mobz/elasticsearch-head:5

运行ElasticSearch-Head容器

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

在浏览器输入http://IP:9100

docker搭建ELK 7.1版本(出现的坑都有决绝方案)

注: 运行ElasticSearch-Head容器时如果出现报错如下:

docker: Error response from daemon: Conflict. The container name "/es_admin" is already in use by container "a9a2a5c74ab3b2dc42c2260fad0b0b1dd6e7c768a5cfb2ddbb121eb2946a370c". You have to remove (or rename) that container to be able to reuse that name.

则执行 docker container ls -all 查看CONTAINER ID 然后执行 docker rm id号
之后重新执行docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5 即可


注: Elasticsearch-head 连接不上Elasticsearch的原因和解决方案

1.修改elasticsearch-head下Gruntfile.js文件,内容如下:

connect: {
    server: {
        options: {
            hostname: '0.0.0.0',
            port: 9100,
            base: '.',
            keepalive: true
        }
    }
}

2.修改elasticsearch-head_site\app.js 文件。this.base_uri 改为下面的值。

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

编辑配置文件

vim /etc/elasticsearch/elasticsearch.yml

增加下面两项

http.cors.enabled: true
http.cors.allow-origin: "*"

然后重启 elasticsearch ,访问 http://localhost:9100/ 就可以成功的连接上 9200 端口

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...