elasticsearch7.X集群部署

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 21:00   2879   0

1. vim elasticsearch.yml

#集群名称,多个es服务的集群名称要一致
cluster.name: cluster-es-prod
#当前es的节点名称,多个es服务的节点名称不要一致
node.name: node-es01
node.name: node-es02
node.name: node-es03
#指定本机非回环地址(非127.0.0.1),配置了后es会认为服务运行在生成环境
network.host: 192.168.49.130
#集群所有节点,写es集群节点的hostname,没有配置,写ip:port也可
discovery.seed_hosts: ["192.168.49.130:9300", "192.168.49.131:9300", "192.168.49.132:9300"]

#指定可以成为master的节点,["节点名称"]
#查询集群信息时_cat/nodes?pretty,报错master_not_discovered_exception进行此设置
cluster.initial_master_nodes: ["node-es01", "node-es02"]
#集群脑裂处理:集群候选节点数量/2+1
#discovery.zen.minimum_master_nodes: 2

#一般设置在var目录下
#指定数据存储目录
path.data: /usr/local/elasticsearch/data

#指定日志所在目录
path.logs: /usr/local/elasticsearch/logs

#集群重启时shard重复复制,从而消耗大量的网络和磁盘资源问题

#满足指定的节点上线后,再进行shard recovery,如果有10个节点,这里可以设置成8
gateway.recover_after_nodes: 3
#最多等待5分钟
gateway.recover_after_time: 5m
#或者指定的节点在线,如果有10个节点,这里可以设置成10
gateway.expected_nodes: 3

# 开启跨域访问支持,默认为false
http.cors.enabled: true
# 跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/
#启用,阻止es内存被swap out到磁盘上去
bootstrap.memory_lock: true

2. vim jvm.options

#给es分配内存,官方建议,设置为系统内存的一半,但不要超过32gb
-Xms8g
-Xmx8g
#打印UseCompressedOops是否为true,不断调节内存大小,UseCompressedOops为false时就是临界值了,不能为false
-XX:+PrintFlagsFinal

mkdir /usr/local/tmp

#指定一个新的临时目录,阻止es内存被swap out到磁盘上去(怕bootstrap.memory_lock: true配置未生效)
-Djava.io.tmpdir=/usr/local/tmp

3. vim /etc/security/limits.conf

#启动es的用户  type    item       value
es             hard    nproc      4096
es             hard    nofile     65536
es             hard    as         unlimited
es             soft    memlock    unlimited
es             hard    memlock    unlimited

4. vim /etc/sysctl.conf

#es使用hybrid mmapfs / niofs目录来存储index数据,操作系统的默认mmap count限制是很低的,可能会导致内存耗尽的异常。
#需要提升mmap count的限制,执行临时命令:sysctl -w vm.max_map_count=262144
#如果要永久性设置这个值,要修改/etc/sysctl.conf,将vm.max_map_count的值修改一下,重启过后,用sysctl vm.max_map_count来验证一下数值是否修改成功

vm.max_map_count = 262144

5. 执行命令

sysctl -w vm.swappiness=1
sysctl -w vm.max_map_count=262144

6. 启动

a. 将elasticsearch命令添加到环境变量

#vim /etc/profile

export ES_HOME=/usr/local/elasticsearch
export PATH=$ES_HOME/bin

#然后刷新 source /etc/profile

#环境变量设置错误,可以使用 
#export PATH=/user/bin:/user/sbin:/bin:/sbin
#/usr/bin/sudo vi /etc/profile 
#命令 还原profile文件,然后reboot重启linux

b. 创建elasticsearch用户,默认不能用root用户启动

#创建用户es
useradd es
#给用户es设置密码,回车输入密码即可
passwd  es


#授权
chown -R es /usr/local/tmp/
chown -R es /usr/local/elasticsearch/

c. 启动

#切换到es用户
su - es

#执行启动命令(-d:后台运行)
elasticsearch -d 

7.启动成功后,查看

curl -XGET 192.168.49.130:9200

curl -XGET 192.168.49.130:9200/_cat/nodes?pretty

curl -XGET 192.168.49.130:9200/_cat/nodes?v

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP