目录
前言
一、编写配置文件
二、创建服务节点
三、安装IK分词器(所以节点都要装)
四、 检验集群
五、kibana安装
1.编写配置文件
2.创建服务
前言
由于机器配置原因,这里elasticsearch只装两个节点,两个节点都承担master和data功能。
一、编写配置文件
- 左侧 配置中心-配置-创建 ,填写基本信息,下一步
- 填写配置,每项单独配置
- 配置项(es-node1节点)
#集群名称,同名称的可以加入同一个集群
cluster.name: es-cluster
#节点名称
node.name: es-node1
network.host: 0.0.0.0
#主节点
node.master: true
#数据节点
node.data: true
#集群中节点的初始列表,可以通过这些节点来自动发现其他节点加入集群。
discovery.seed_hosts: es-node1.mall-project:9300,es-node2.mall-project:9300
#新集群初始节点的候选节点
cluster.initial_master_nodes: es-node1
提示:discovery.seed_hosts:配置项里的域名是kubesphere生成的DNS,这个域名是创建完节点后自动生成的(如下图),它的生成规则就是 <节点名>.<项目名>,所以我们这里预先就约定好以后的两个节点就叫 es-node1,es-node2。
- 配置项(es-node2节点)
内容大致与es-node1相同,只需改变node.name为es-node2
cluster.name: es-cluster
node.name: es-node2
network.host: 0.0.0.0
node.master: true
node.data: true
discovery.seed_hosts: es-node1.mall-swarm-project:9300,es-node2.mall-swarm-project:9300
cluster.initial_master_nodes: es-node1
二、创建服务节点
- 创建es-node1节点
创建有状态服务
填写名称,一定要和上一步配置文件discovery.seed_hosts中的域名一样 es-node1
副本数为1
添加容器elasticsearch:7.6.2 选择默认端口
设置环境变量,引用配置文件,引用所以配置项。
部署模式
- 挂载存储
添加存储模板
挂载到 /usr/share/elasticsearch/data目录
再挂载一个存储到 /usr/share/elasticsearch/plugins
会话保持,节点调度 可以指定运行节点使两个es运行在不同的服务节点上。
- 创建成功
注意:图片的DNS要和配置文件中的discovery.seed_hosts配置项一致,不一致可以修改配置文件重新部署。
- 创建es-node2节点
与创建es-node1节点步骤相同,就是替换环境变量为node2的配置文件
三、安装IK分词器(所以节点都要装)
- 进入es容器组-查看调度信息,记录调度到哪个节点上
本示例调度到了第二个节点上
- 查看资源状态-记住容器名称
- 连接对应节点的主机(本示例为node2),查找对应容器的id
docker ps |grep 容器名
- 进入对应容器
docker exec -it 容器id /bin/bash
#此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
docker restart elasticsearch
四、 检验集群
- 进入任意节点的终端
- 通过DNS访问两个节点,查看两个节点的名称和集群名称
curl es-node1.mall-swarm-project:9200
curl es-node2.mall-swarm-project:9200
- 查看集群节点
*代表主节点 -代表数据节点
五、kibana安装
1.编写配置文件
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://es-node1.mall-swarm-project:9200","http://es-node2.mall-swarm-project:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
提示: elasticsearch.hosts 填写的是es节点的DNS
2.创建服务
kibana 为无状态无法,选择无状态服务,填写基本信息
副本选择1个
选择镜像 kibana:7.6.2 ,与elasticsearch版本保持一致。使用默认端口,设置资源占用。
挂载配置文件,挂载目录 /usr/share/kibana/config/
因为需要外部登录kibana,需要设置外网访问 访问方式:NodePort
创建成功后,会看到暴露的端口。
可以通过任意集群IP+端口号访问 。
访问kibana
192.168.56.102是我虚拟机IP地址,我本机可以通过此地址连接到虚拟机。
kibana启动时间可能会比较长,如果连接不上多等一会。