es集群的安装与配置
安装es7.5.1
主机:
192.168.1.234
192.168.1.233
192.168.1.240
系统:
centos7
安装包:
安装前准备:
#设置内核参数
cat > /etc/sysctl.conf << EOF vm.max_map_count=655360 EOF sysctl –p
#设置文件描述符限制
cat >> /etc/security/limits.conf << EOF * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 EOF cat >> /etc/security/limits.d/90-nproc.conf << EOF * soft nproc 4096 EOF
#解决:Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true
vim config/elasticsearch.yml
添加:
bootstrap.system_call_filter: false
安装es集群
1、创建普通用户elastic
useradd elastic
2、安装elasticsearch
将文件解压解压路径为/home/elastic/

3、配置es集群
es1 cluster.name: es-itcast-cluster node.name: node02 node.master: true node.data: true network.host: 192.168.1.233 discovery.seed_hosts: ["192.168.1.234","192.168.1.233","192.168.1.240"] cluster.initial_master_nodes: ["node01","node02","node03"] path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch http.port: 9200 transport.port: 9300 es2 cluster.name: es-itcast-cluster node.name: node02 node.master: true node.data: true network.host: 192.168.1.234 discovery.seed_hosts: ["192.168.1.234","192.168.1.233","192.168.1.240"] cluster.initial_master_nodes: ["node01","node02","node03"] path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch http.port: 9200 transport.port: 9300 es3 cluster.name: es-itcast-cluster node.name: node02 node.master: true node.data: true network.host: 192.168.1.240 discovery.seed_hosts: ["192.168.1.234","192.168.1.233","192.168.1.240"] cluster.initial_master_nodes: ["node01","node02","node03"] path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch http.port: 9200 transport.port: 9300
4、更改文件权限
chown -R elastic.elastic /home/elastic chown -R elastic.elastic /var/lib/elasticsearch chown -R elastic.elastic /var/log/elasticsearch
5、启动集群
su - elastic cd elasticsearch-7.5.1/bin ./elasticsearch &
这里需要注意: 单点单节点部署Elasticsearch, 集群状态可能为yellow, 因为单点部署Elasticsearch, 默认的分片副本数目配置为1,而相同的分片不能在一个节点上,所以就存在副本分片指定不明确的问题,所以显示为yellow,可以通过在Elasticsearch集群上添加一个节点来解决问题,如果不想这么做,可以删除那些指定不明确的副本分片(当然这不是一个好办法)但是作为测试和解决办法还是可以尝试的,下面试一下删除副本分片的办法:
[root@elk-server ~]# curl -XPUT "http://localhost:9200/_settings" -d' { "number_of_replicas" : 0 } ' {"acknowledged":true} 这个时候再次查看集群的状态状态变成了green [root@elk-server ~]# curl -X GET 'http://localhost:9200/_cluster/health?pretty' { "cluster_name" : "elasticsearch", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 931, "active_shards" : 931, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0, "delayed_unassigned_shards" : 0, "number_of_pending_tasks" : 0, "number_of_in_flight_fetch" : 0, "task_max_waiting_in_queue_millis" : 0, "active_shards_percent_as_number" : 100.0 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!