文章目录
前言
本文主要介绍使用docker搭建es8集群,并使用kibana对es集群进行远程操作,未开启安全认证。其中大部分流程与创建单体es类似,部分细节不同。搭建es单机和kibana可查看docker部署es8+kibana,es集群开启安全认证可查看docker开启es集群安全认证
一、准备工作
1.服务器(虚拟机)配置
准备三台CentOS7的服务器(虚拟机),ip分别为192.168.100.125,192.168.100.39,192.168.100.2
提前开放三台服务器的9200、9300端口,需要配置kibana的服务器额外开放5601端口。只需要配置一个kibana即可连接es集群。
# 查看端口是否开放
firewall-cmd --query-port=9200/tcp
# 防火墙开放es需求端口
firewall-cmd --add-port=9200/tcp --add-port=9300/tcp --permanent
# 防火墙开放kibana需求端口
firewall-cmd --add-port=5601/tcp --permanent
# 防火墙重载端口
firewall-cmd --reload
2.安装docker
为三台服务器都安装配置docker
3.创建es网卡
三台服务器都需要创建es网卡,以便es集群和kibana连接
docker network create es-net
二、安装elasticsearch
1.es官网选择版本
选择docker下载方式
docker pull es指令
注意es的镜像名称是docker.elastic.co/elasticsearch/elasticsearch:8.14.1
不是elasticsearch:8.14.1
2.docker拉取es镜像
docker pull docker.elastic.co/elasticserach/elasticsearch:8.14.1
3.创建挂载目录
# 切换到本地docker容器目录
cd /usr/local/docker
# 创建elasticsearch目录
mkdir elasticsearch
# 进入es目录
cd elasticsearch
# 创建data和plugins挂载目录
mkdir data plugins
# 添加文件夹权限
chmod 777 data
chmod 777 plugins
4.启动es集群
4.1 参数挂载启动
注意每台服务器需要修改的参数
node.name —— es集群节点名称,每台服务器不同
network.publist_host —— 服务器ip
docker run -d \
--privileged=true \
--name=es8 \
-p 9200:9200 \
-p 9300:9300 \
# es集群节点名称,每台服务器不同
-e node.name=node-1 \
# 服务器ip
-e network.publish_host=192.168.100.125 \
-e network.host=0.0.0.0 \
# es集群连接ip和端口9300
-e discovery.seed_hosts=192.168.100.125:9300,192.168.100.39:9300,192.168.100.2:9300 \
# es集群节点
-e cluster.initial_master_nodes=node-1,node-2,node-3 \
# es集群名称,三台服务器要统一
-e cluster.name=es-cluster \
-e xpack.security.enabled=false \
-e TZ=Asia/Shanghai \
docker.elastic.co/elasticsearch/elasticsearch:8.14.1
4.2 配置文件挂载启动
编写elasticsearch.yml
# 进入elasticsearch文件目录
cd /usr/local/docker/elasticsearch
# 创建config文件夹
mkdir config
# 进入config文件加
cd config
# 编写elasticsearch.yml
vim elasticsearch.yml
elasticsearch.yml
# 集群名称
cluster.name: es-cluster
# 节点名称
node.name: node-1
# 网络地址
network.host: 0.0.0.0
network.publish_host: 192.168.100.125
# 集群节点配置
discovery.seed_hosts: ["192.168.100.125:9300","192.168.100.39:9300","192.168.100.2:9300"]
# 主节点候选
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
# 客户端端口
http.port: 9200
# 集群节点端口
transport.port: 9300
# 是否开启安全认证
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
# 是否开启ssl
xpack.security.http.ssl:
enabled: false
#keystore.path: /usr/share/elasticsearch/config/certs/http.p12
#truststore.path: /usr/share/elasticsearch/config/certs/http.p12
# 是否开启访问安全认证
xpack.security.transport.ssl:
enabled: false
#verification_mode: certificate
#keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
#truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
# 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.host: 0.0.0.0
启动es
docker run -d \
--privileged=true \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
-v /usr/local/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /usr/local/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
docker.elastic.co/elasticsearch/elasticsearch:8.14.1
三、安装kibana
1.拉取kibana镜像
docker pull kibana指令
注意kibana的镜像名称是docker.elastic.co/kibana/kibana:8.14.1
不是kibana:8.14.1
拉取es镜像
docker pull docker.elastic.co/elasticserach/elasticsearch:8.14.1
2.创建挂载目录
# 切换到本地docker容器目录
cd /usr/local/docker
# 创建kibana目录
mkdir kibana
# 进入目录
cd kibana
# 创建data挂载目录
mkdir data
# 添加文件夹权限
chmod 777 data
3.创建kibana.yml配置文件
# 切换到kibana目录
cd /usr/local/docker/kibana
# 创建config文件夹
mkdir config
# 创建编写kibana.yml
vim kibana.yml
server.host: "0.0.0.0"
# 连接es集群配置多个地址,单机一个地址
elasticsearch.hosts: ["http://192.168.100.125:9200","http://192.168.100.39:9200","http://192.168.100.2:9200"]
# 设置kibana中文
i18n.locale: "zh-CN"
4.启动kibana
docker run -d \
--name kibana \
--network es-net \
-p 5601:5601 \
-v /usr/local/docker/kibana/data:/usr/share/kibana/data \
-v /usr/local/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
docker.elastic.co/kibana/kibana:8.14.1
四、查看es集群节点
es启动较慢,确认docker中es实例未停止时,可多等待会。
1.查看es信息
2.访问kibana客户端
3.查看es集群节点