【docker搭建es8集群+kibana】


前言

本文主要介绍使用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集群节点

在这里插入图片描述
在这里插入图片描述


您好!要安装一个ES8集群,您可以使用Docker来部署,以下是一些简单的步骤: 1. 首先,确保您已经在系统上安装DockerDocker Compose。您可以通过运行以下命令来检查它们是否已安装: ``` docker --version docker-compose --version ``` 如果命令成功执行并显示版本信息,则说明DockerDocker Compose已经安装好了。 2. 创建一个用于存储ES数据的目录,在您的系统上选择一个适当的位置,例如`/path/to/es-data`。执行以下命令创建该目录: ``` mkdir /path/to/es-data ``` 3. 创建一个名为`docker-compose.yml`的文件,并在其中定义ES服务的配置。以下是一个示例配置: ```yaml version: '3' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:8.0.0 container_name: es01 environment: - discovery.type=single-node volumes: - /path/to/es-data:/usr/share/elasticsearch/data ports: - 9200:9200 - 9300:9300 ``` 上述配置将创建一个名为`es01`的容器,使用Elasticsearch 8.0.0镜像,并将端口9200和9300映射到主机上。 4. 保存并关闭`docker-compose.yml`文件后,在终端中导航到包含该文件的目录,并执行以下命令启动ES集群: ``` docker-compose up -d ``` 上述命令将启动ES容器,并在后台运行。 5. 等待一段时间,直到容器启动并完成初始化。您可以使用以下命令检查容器状态: ``` docker ps ``` 如果看到`es01`容器正在运行,则说明ES集群已经成功安装和运行。 这样,您就已经成功地使用Docker安装了一个ES8集群。请注意,这只是一个简单的示例配置,您可能需要根据自己的需求进行调整和扩展。如果您需要部署更复杂的ES集群,建议阅读Elasticsearch官方文档以获取更多详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值