1. 搭建集群实现
我们将集群名称设计为csdn-elastic,并部署3个Elasticsearch节点。集群环境如下
Node Name | Cluster Name | IP | HTTP | TCP |
node-01 | csdn-elastic | 127.0.0.1 | 9201 | 9301 |
node-02 | csdn-elastic | 127.0.0.1 | 9202 | 9302 |
node-03 | csdn-elastic | 127.0.0.1 | 9203 | 9303 |
TCP:集群间的各个节点进⾏通讯的端⼝,默认9300
1.将elasticsearch-6.2.4.zip压缩包解压三份,分别做以下命名。
2.修改每⼀个节点config⽬录下的elasticsearch.yml配置⽂件。三个节点的配置⽂件内容⼏乎⼀致,除了 node.name、path.data、path.log、http.port、transport.tcp.port属性的值。
配置node-01节点(node-02、node-03,类似)。
# 允许跨域名访问
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示⽀持所有域名
http.cors.allow-origin: "*"
# 允许所有节点访问
network.host: 0.0.0.0
# 集群的名称,同⼀个集群下所有节点的集群名称应该⼀致
cluster.name: csdn-elastic
# 当前节点名称 每个节点不⼀样
node.name: node-01
# 数据的存放路径,每个节点不⼀样,不同es服务器对应的data和log存储的路径不能⼀样
path.data: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9201/data
# ⽇志的存放路径 每个节点不⼀样
path.logs: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9201/logs
# HTTP协议的对外端⼝,每个节点不⼀样,默认:9200
http.port: 9201
# TCP协议对外端⼝ 每个节点不⼀样,默认:9300
transport.tcp.port: 9301
# 三个节点相互发现,包含⾃⼰,使⽤TCP协议的端⼝号
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
# 声明⼤于⼏个的投票主节点有效,请设置为(nodes / 2) + 1
discovery.zen.minimum_master_nodes: 2
# 是否为主节点
node.master: true
3.将下载的elasticsearch-analysis-ik-6.2.4.zip的压缩包解压到集群中每个elasticsearch的plugins⽬录下,并将解 压后的⽬录重命名成analysis-ik。
4.启动集群。进⼊elasticsearch安装⽬录下的bin⽬录下通过启动⽂件来启动Elasticsearch。把三个节点分别启 动,启动时不要着急,要⼀个⼀个地启动。启动Elasticsearch服务即可加载IK分词器。
# Mac系统下启动⽅式-双击下⾯的⽂件运⾏
./elasticsearch
# Windows系统下启动⽅式-在终端执⾏下⾯的⽂件
elasticsearch.bat
2. 测试集群中创建索引库
2.1 Kibana访问集群
1.进⼊Kibana安装⽬录下的config⽬录,修改kibana.yml⽂件,添加Elasticsearch服务地址的配置(注释放开即 可)。
# url访问的端⼝修改成9201或9202或9203都可以
elasticsearch.url: "http://localhost:9201"
2.进⼊Kibana安装⽬录下的bin⽬录,通过运⾏启动⽂件来启动Kibana。前提是先启动Elasticsearch服务集群,再 启动Kibana服务。
3.然后访问Kibana地址http://127.0.0.1:5601,进⾏集群测试。
2.2 elasticsearch-head访问集群
1.通过浏览器打开elasticsearch-head扩展程序。
2.在打开的窗⼝中输⼊http://localhost:9201地址(可以是集群中任⼀⼀台服务器地址)来查看Elasticsearch集群 的启动情况。
2.3集群中创建索引库
2.3.1 .通过Kibana创建索引
通过API创建索引库,设置集群的分⽚和备份值。示例:
PUT /csdn
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}
这⾥有两个属性配置:
2.3.2 通过elasticsearch-head创建索引
在elasticsearch-head控制台通过【索引】选项可以新建索引。这个要亲⾃尝试才知道。
2.3.3 elasticsearch-head创建索引失败
在通过elasticsearch-head创建索引时,点击新建索引窗⼝的【OK】按钮,没有任何响应,⽆法在⻚⾯新建索引。 针对此问题,打开浏览器控制台,提示“Not Acceptable”错误。
解决⽅案:
1.打开elasticsearch-head安装⽬录下的vendor.js⽂件。
2.修改contentType属性的取值。
(-) 找到第6886⾏代码改成如下内容。
contentType: "application/json;charset=UTF-8",
(-) 找到第7573⾏代码改成如下内容。
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
4.重新通过elasticsearch-head⼯具在控制台点击【索引】选项进⾏新建索引的测试。
2.3.4 使⽤elasticsearch-head查看集群
文章来源:https://www.toymoban.com/news/detail-701726.html
可以看到,yx这个索引库,有三个分⽚,分别是0、1、2,每个分⽚有1个副本,共6份。文章来源地址https://www.toymoban.com/news/detail-701726.html
- node-01上保存了0号分⽚和1号分⽚的副本
- node-02上保存了1号分⽚和2号分⽚的副本
- node-03上保存了2号分⽚和0号分⽚的副本
到了这里,关于Elasticsearch 集群搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!