docker-compose 搭建 Elasticsearch + kibana
📅 2022-04-19 13:36
👁️ 1596
💬 0
docker-compose 搭建 Elasticsearch + kibana
本文记录使用docker-compose 搭建Elasticsearch + kibana 的过程,记录必要步骤以及所经历的坑
1.版本介绍
- jdk:1.8
- elasticsearch:7.8.0
- kibana:7.8.0
- docker-compose:1.28.6
- Linux: CentOS Linux release 7.9.2009
2.前提准备
-
调整用户的mmap计数,否则启动es时会出现内存不足的情况
# 查看当前限制 sysctl vm.max_map_count vm.max_map_count = 65530
临时修改,不需要重启(重启后 失效)
sysctl -w vm.max_map_count=262144
永久修改,修改后需要重启生效
vi /etc/sysctl.cof # 增加 如下内容 vm.max_map_count = 262144
-
创建目录及对应文件夹,修改文件夹的权限
在home文件夹下新建es文件夹 ,在es文件夹中新建 data 、logs、plugins文件夹 及 docke-compose.yml 文件
修改data logs 文件夹的权限 (不添加权限,后续es启动时会报错 如:Error opening log file 'logs/gc.log': Permission denied)
chmod 777 -R ./logs chmod 777 -R ./data
-
创建网络环境
docker network create elk
3.docker-compose.yml
version: "3.2"
services:
elasticsearch:
image: elasticsearch:7.8.0
container_name: elasticsearch
restart: always
volumes:
- ./data:/usr/share/elasticsearch/data
- ./logs:/usr/share/elasticsearch/logs
- ./plugins:/usr/share/elasticsearch/plugins
ports:
- 9200:9200
environment:
# 开启内存锁定
- bootstrap.memory_lock=true
# 修改jvm内存
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# 指定单节点启动
- discovery.type=single-node
ulimits:
# 取消内存相关限制 用于开启内存锁定
memlock:
soft: -1
hard: -1
kibana:
image: kibana:7.8.0
container_name: kibana
restart: always
ports:
- 5601:5601
environment:
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
I18N_LOCALE: zh-CN
es-head:
image: mobz/elasticsearch-head:5-alpine
container_name: es-head
restart: always
ports:
- 9100:9100
networks:
default:
external:
## 此处名称与上面创建的网络名称一致
name: elk
# 以后台的方式运行容器。不会在终端上打印运行日志
docker-compoes up -d
#停止
docke-compose down -v
4.关闭防护墙
如果Kibana出现 Unable to revive connection: https://elasticsearch:9200/这种错误,需要关闭防火墙
#查看防火墙状态
[root@centos es]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
#临时关闭防护墙
systemctl stop firewalld
#永久关闭
systemctl disable firewalld
5.测试访问
elasticsearch:localhost:9200
Kibana:http://localhost:5601/
6.安装ik分词器
在es/plugins文件夹下新建ik文件夹,下载,解压,重启即可
#下载es 对应版本ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
# 解压
unzip elasticsearch-analysis-ik-7.8.0.zip
重启后查看es日志已经加载了ik分词器插件
备注:虚拟机基于virtual box管理 还需要创建端口转发
登录后才能查看或发表评论, 立即 登录