Elasticsearch集群环境搭建
1. 集群简介
两台机器,均用于保存数据且可被选为master节点
服务版本
服务 | 版本 |
---|---|
elasticsearch | 7.0.0 |
jdk | 1.8 |
2. 创建web用户
不可以直接使用root用户,所以此处新建 web 用户
2.1 添加用户组及用户,配置密码
# 添加用户组
groupadd web
# 添加用户
useradd -m -g web web
# 配置密码
passwd web
2.2 sudo权限
chown -R web:web elasticsearch-7.0.0
3.配置
3.1 修改 elasticsearch.yml
配置说明:
参数 | 说明 |
---|---|
cluster.name | 集群名称,相同名称为一个集群 |
node.name | 节点名称,集群模式下每个节点名称唯一 |
node.master | 当前节点是否可以被选举为master节点,是:true、否:false |
node.data | 当前节点是否用于存储数据,是:true、否:false |
path.data | 索引数据存放的位置 |
path.logs | 日志文件存放的位置 |
bootstrap.memory_lock | 需求锁住物理内存,是:true、否:false |
bootstrap.system_call_filter | SecComp检测,是:true、否:false |
network.host | 监听地址,用于访问该es |
network.publish_host | 可设置成内网ip,用于集群内各机器间通信 |
http.port | es对外提供的http端口,默认 9200 |
discovery.seed_hosts | es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点 |
cluster.initial_master_nodes | es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master |
http.cors.enabled | 是否支持跨域,是:true,在使用head插件时需要此配置 |
http.cors.allow-origin | “*” 表示支持所有域名 |
详情配置:
vim config/elasticsearch.yml
# 增加如下:
cluster.name: elasticsearch
node.name: node-1
node.master: true
node.data: true
path.data: /data/es/data
path.logs: /data/es/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
# 有些时候并不需要此配置
network.publish_host: 192.168.0.51
http.port: 9200
discovery.seed_hosts: ["192.168.0.168", "192.168.0.51"]
cluster.initial_master_nodes: ["92.168.0.168"]
http.cors.enabled: true
http.cors.allow-origin: "*"
3.3 新建索引数据与日志数据目录,注意目前权限
# 新建目录,注意目前权限
mkdir -p /data/es/data
mkdir -p /data/es/logs
使用
spring:
application:
name: springboot
data:
elasticsearch:
cluster-name: elasticsearch
cluster-nodes: 192.168.0.168:9300,192.168.0.51:9300
repositories:
enabled: true