elasticsearch 7.9.1
乐观锁
内存大小有要求 生产至少8G 文件打开数量限制问题 防火墙规则判断
单机单实例 需要显露对外的端口 修改config/elasticsearch.yml
network.host 外部访问ip
discovery.seed_hosts 外部访问ip:默认端口9200或修改后的端口
cluster.initial_master_nodes: ["node-1", "node-2"] 外部访问ip:默认端口9200或修改后的端口
不能使用root 用户启动 需要创建新的 目录目录要有权限
遇到的问题: o.e.c.c.ClusterFormationFailureHelper[localhost.localdomain] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluste
配置的问题
cluster.initial_master_nodes: ["192.168.10.232:9300"]
这个master节点的配置要加上 IP要写正确
kibana
可以查看监听elasticsearch
elasticsearch集群搭建
3台 es版本 elasticsearch-7.9.1 这个版本不大合适跟docker一起使用
3台 集群通讯端口 http端口
node1 9700 9201
node2 9800 9202
node3 9900 9203
如果有旧的数据 logs data这些先清空
修改logs data的存放位置 config/elasticsearch
path.logs
path.data
修改目录 权限 chown -R es:es
修改机器1:
node.name:node1
node.master:true
node.data:true
节点名称
是否主节点
节点数据
node.max_local_storage_nodes: 3
限制单节点上可以开启的ES存储实例个数 多个实例的话 是2或者更高
http.port: 9202
es对外提供服务的http端口配置 默认是9200-9299之间 如果9200被占用会使用9201 单机多实例的话 可以不修改 如果是多机多实例的话手动修改端口
transport.tcp.port: 9800
es集群内数据通讯使用的端口 默认是9300 跟上面一样 如果9300被占用会使用9301
discovery.seed_hosts
自动发现设置 配置之后主机之间可以自动发现
["192.168.10.231:9700"] 添加的是其他主机的通讯端口 定义为9700 9800 9900
discovery.seed_hosts: ["192.168.10.230:9700","192.168.10.231:9800","192.168.10.232:9900"]
cluster.initial_master_nodes 集群对应的node节点
["node2","node1","node3"]
cluster.initial_master_nodes: ["node1","node2","node3"]
3个节点之间的启动失败会有缓存 要清下data logs
查看集群的状态
http://192.168.10.230:9201/_cat/health?v
分片数量 建议是 节点数量 1-3倍
1000G 推荐 10-30分片 一个分片在30-100G之间
kibana
修改
config/kibana.yml
为什么主分片的数量不能变
hash(route)%shard_primay_num
3个主分片
路由数值= hash%分片数量 数据存放在那个分片上
单节点状态
kibana集成监测
集群状态