目录

前言

一、编写配置文件

二、创建服务节点

 三、安装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
  •  下载ik分词器。并重启
    
    #此命令需要在容器中运行
    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启动时间可能会比较长,如果连接不上多等一会。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐