当前位置:   article > 正文

es集群的安装配置_es集群配置

es集群配置

1. 集群的部署步骤

集群状态颜色:
绿色:所有条件都满足,数据完整,副本满足
黄色:数据完整,副本不满足
红色:有索引里的数据出现不完整了
紫色:有分片正在同步中

192.168.80.90sjk1
192.168.80.91sjk2
192.168.80.92sjk3
1.安装软件
yum install -y java-1.8.0-openjdk.x86_64 
rpm -ivh elasticsearch-6.6.0.rpm

2.修改配置文件
node-1配置文件
cat /etc/elasticsearch/elasticsearch.yml 
cluster.name: linux
node.name: node-2
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.80.90,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.80.90", "192.168.80.91"]
discovery.zen.minimum_master_nodes: 2

node-2配置文件
cat /etc/elasticsearch/elasticsearch.yml 
cluster.name: linux
node.name: node-2
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.80.91,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.80.90", "192.168.80.91"]
discovery.zen.minimum_master_nodes: 2

node-3配置文件
cat /etc/elasticsearch/elasticsearch.yml 
cluster.name: linux
node.name: node-3
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.80.92,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.80.90", "192.168.80.92"]
discovery.zen.minimum_master_nodes: 2

锁定内存的更改
vim jvm.options
-Xms512m
-Xmx512m
默认是1g根据自己的内存大小进行更改

3.修改内存锁定
systemctl edit elasticsearch
添加
[Service]
LimitMEMLOCK=infinity

4.创建数据目录并授权
mkdir /data/elasticsearch
chown -R elasticsearch:elasticsearch /data/elasticsearch/

5.重启服务
systemctl daemon-reload
systemctl start elasticsearch

6.查看日志和端口
tail -f /var/log/elasticsearch/Linux.log
netstat -lntup:grep 9200
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64

配置文件
elasticsearch.yml

cluster.name: Linux						集群名称,同一个集群内所有节点集群名称要一模一样
node.name: node-1						节点名称,同一个集群内所有节点的节点名称不能重复
path.data: /data/elasticsearch			数据目录
path.logs: /var/log/elasticsearch		日志目录
bootstrap.memory_lock: true				内存锁定
network.host: 10.0.0.51,127.0.0.1		绑定监听地址
http.port: 9200							默认端口号
discovery.zen.ping.unicast.hosts: ["10.0.0.51", "10.0.0.52"]	集群发现节点配置
discovery.zen.minimum_master_nodes: 2	选项相关参数,有公式 master/2 +1 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

说明:

cluster.name: Linux同一个集群里边,这个名字一样
node.name: node-1不同节点的名字不一样
bootstrap.memory_lock: true内存锁定,我也不知道为什么,我2g内存不用配置,1g的配置错误
discovery.zen.ping.unicast.hosts: [“10.0.0.51”, “10.0.0.52”]该地址,前边写主节点的,后边的紫萼自己主机的就行
discovery.zen.minimum_master_nodes: 2当只有两台的时候一台挂了,另一台不会立即的变为主机,加入出现故障,只启动一台机器,就把参数设置为1

在这里插入图片描述
主节点是node-2他这个是先发现谁就是谁

2.集群的应用

默认情况下:
1.所有节点都是工作节点
2.主节点即负责调度又负责处理数据

2.1 操作指令:

查看集群的名称
curl -XGET 'http://localhost:9200/_nodes/procese?human&pretty'  

所有节点的信息
curl -XGET 'http://localhost:9200/_nodes/_all/info/jvm,process?human&pretty'

查看有哪些节点
curl -XGET 'http://localhost:9200/_cat/nodes?human&pretty' 

详细的分片信息
curl -XGET 'http://localhost:9200/_cluster/health?pretty'


查看索引
curl -XGET 'localhost:9200/_cat/indices?v&pretty'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
2个节点,master设置为2的时候,一台出现故障导致集群不可用
解决方案:
把还存活的节点的配置文件集群选举相关的选项注释掉或者改成1
discovery.zen.minimum_master_nodes: 1
重启服务
  • 1
  • 2
  • 3
  • 4
  • 5
两个节点数据不一致会导致查询结果不一致
找出不一致的数据,清空一个节点,以另一个节点的数据为准
然后手动插入修改后的数据
  • 1
  • 2
  • 3

2.2 数据插入:

curl -XPUT  'localhost:9200/linux/user/2?pretty' -H 'Content-Type: application/json' -d' {
	"first_name": "Jane",
	"last_name" : "Smith",
	"age" : 32,
	"about" : "I like to collect rock albums", "interests": [ "music" ]
}'

curl –XPUT  'localhost:9200/linux/user/3?pretty' -H 'Content-Type: application/json' -d' {
	"first_name": "Douglas", "last_name" : "Fir",
	"age" : 35,
	"about": "I like to build cabinets", "interests": [ "forestry" ]
}'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

默认数据分配:
5分片
1副本
在这里插入图片描述

监控状态
1.监控集群健康状态 不是 green
or
2.监控集群节点数量 不是 3

curl  -s -XGET 'http://localhost:9200/_cat/nodes?human&pretty'|wc -l

curl -s  -XGET 'http://localhost:9200/_cluster/health?pretty' |grep status

  • 1
  • 2
  • 3
  • 4

我们停止一个节点试一试
在这里插入图片描述
需要一定的反应时间
在这里插入图片描述
变成两个节点了,这个时候一个损坏了,我们就可以重新启用另外一个再搭建,启用主要数据的哪一个,更改参数为1

discovery.zen.minimum_master_nodes: 1
  • 1

2.3 指定分片和副本数目

curl -XPUT 'localhost:9200/index1?pretty'

创建索引的时候指定分片和副本
curl -XPUT 'localhost:9200/index2?pretty' -H 'Content-Type: application/json' -d'       
{
   "settings" : { 
   "number_of_shards" : 3, 
   "number_of_replicas" : 1
 } 
}'

分片数一旦创建就不能再更改了,但是我们可以调整副本数
curl -XPUT 'localhost:9200/index2/_settings?pretty' -H 'Content-Type: application/json' -d'         
{
  "settings" : { 
  "number_of_replicas" : 2
 } 
}'

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在这里插入图片描述

2.4 分词器:

中文分词器:
所有节点都得安装中文分词器

curl -XPOST http://localhost:9200/index/fulltext/1 -H 'Content-Type:application/json' -d'
{"content":"是个烂摊子吗"}
'
curl -XPOST http://localhost:9200/index/fulltext/2 -H 'Content-Type:application/json' -d'
{"content":"车将享最高路权"}
'
curl -XPOST http://localhost:9200/index/fulltext/3 -H 'Content-Type:application/json' -d'
{"content":"渔船"}
'
curl -XPOST http://localhost:9200/index/fulltext/4 -H 'Content-Type:application/json' -d'
{"content":"自"}
'

curl -XPOST http://localhost:9200/index/fulltext/_search?pretty  -H 'Content-Type:application/json' -d'
{
    "query" : { "match" : { "content" : "国" }},
    "highlight" : {
        "pre_tags" : ["<tag1>", "<tag2>"],
        "post_tags" : ["</tag1>", "</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}
'


创建索引的时候指定分词器
curl -XPOST http://localhost:9200/index/fulltext/_mapping -H 'Content-Type:application/json' -d'
{
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_max_word"
            }
        }
 
}'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法构造者2/article/detail/62479
推荐阅读
相关标签
  

闽ICP备14008679号