他的脸红不是因为亚热带季风气候,而是因为那天太阳不忠,出卖一九九四年夏末心动。–《太平山顶》
在本篇博客中,我将详细介绍如何在 Linux 系统中安装并配置 Elasticsearch 和 Kibana,这两者是 ELK 堆栈的重要组成部分,用于日志分析、数据搜索、可视化等场景。
一、系统准备
1.1 确认系统要求
操作系统: 适用于任何基于 Linux 的发行版,如 Ubuntu、CentOS、Debian 等(本文基于CentOS)。
Java 环境: jdk1.8。
二、安装 Elasticsearch
安装之前配置好DNS和docker源。
输入以下命令拉取es:
docker pull elasticsearch:7.4.2
拉取成功后,建立挂载文件夹:
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
然后进入到config文件夹内:
cd /mydata/elasticsearch/config
然后配置es配置文件,将一下内容写入配置文件:
echo "http.host : 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
用docker启动es:
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 ps -a
docker logs b45
根据其id查看es的日志。
报错主要如图,为权限问题,ll查看刚刚建立的文件夹,会发现其他组仅有r权限,即只读:
输入以下命令修改赋予其全部权限:
chmod -R 777 /mydata/elasticsearch/
然后docker start es的id,可以发现启动成功了:
浏览器访问:192.168.56.100:9200会显示:
安装且启动成功,建议再设置自启动:
docker update --restart unless-stopped elasticsearch
三、安装 Kibana
docker pull kibana:7.4.2
启动kibana:
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.100:9200 -p 5601:5601 -d kibana:7.4.2
启动成功,但是浏览器访问192.168.56.100:5601会一直转圈圈,然后显示:
要手动的进入容器中修改ElasticSearch的服务地址:
进入容器:
docker exec -it 容器编号 /bin/bash
进入config目录:
cd config
修改kibana.yml文件中的ElasticSearch的服务地址:
然后重启:
docker restart 233
就能访问了:
如果还是不能访问就请删除容器中的kibana后再启动:
docker rm -f 233
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.100:9200 -p 5601:5601 -d kibana:7.4.2
最后设置自启动:
docker update --restart unless-stopped kibana