ElasticSearch集群搭建及启动异常的问题

本文详细介绍了如何在三台CentOS6.9机器上部署ElasticSearch5.6.9集群,包括配置集群名称、节点名称及数据路径等,并解决了一些常见的启动异常问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ElasticSearch集群搭建

本文采用ElasticSearch5.6.9版本,采用3台机器安装,分别为server01,server02,server03。机器的系统是CentOS6.9版本

ElasticSearch集群是采用leader选举机制来产生master

1.下载并解压

1.1 官网下载地址:

https://www.elastic.co/cn/downloads/elasticsearch

1.2 上传到server01机器

scp elasticsearch-5.6.9.tar.gz hadoop@server01:/hadoop

1.3 解压

tar -zxvf elasticsearch-5.6.9.tar.gz

1.4 重命名

mv elasticsearch-5.6.9 elasticsearch

2.修改配置文件并启动

进入elasticsearch/config目录

2.1 修改elasticsearch.yml配置文件

#集群名称,通过组播的方式通信,通过名称判断属于哪个集群
cluster.name: es-cluster

#节点名称,要唯一
node.name: es1

#数据存放位置
path.data: /hadoop/elasticsearch/data

#日志存放位置
path.logs: /hadoop/elasticsearch/logs

# centos6.x需要添加,不然会导致启动错误
bootstrap.system_call_filter: false

#es绑定的ip地址
network.host: server01

# http访问的端口
http:port: 9200

#初始化时可进行选举的节点
discovery.zen.ping.unicast.hosts: ["server01", "server02", "server03"]

image

image

2.2 修改jvm.options文件(可选)

vim config/jvm.options

# 将虚拟机内存默认的2g改为512m
# -Xms2g  
# -Xmx2g  
# 修改为  

-Xms512m  
-Xmx512m 

如果机器的内存比较小,设置为2g会导致如下错误

Java HotSpot™ 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=‘Cannot allocate memory’ (errno=12)

2.3 分发到server02,server03机器上

scp -r /hadoop/elasticsearch hadoop@server02:/hadoop

scp -r /hadoop/elasticsearch hadoop@server03:/hadoop

修改server02机器上的elasticsearch.yml配置文件

node.name: es2

network.host: server02

修改server03机器上的elasticsearch.yml配置文件

node.name: es3

network.host: server03

2.4 设置环境变量

在server01,server02,server03机器上分别设置环境变量

sudo vim /etc/profile

export ES_HOME=/hadoop/elasticsearch
export PATH=$PATH:$ES_HOME/bin

使环境变量生效

source /etc/profile

2.5 修改/etc/security/limits.conf配置

* soft memlock unlimited
* hard memlock unlimited

* soft nofile 65536
* hard nofile 131072

* soft nproc 2048
* hard nproc 4096

修改/etc/sysctl.conf文件配置

添加下面配置:
vm.max_map_count=655360

并执行命令:
sysctl -p

退出用户后登入有效

2.6 启动elasticsearch集群

bin/elasticsearch

# 后台启动
# bin/elasticsearch -d

image

image

3.启动异常的问题

image

3.1 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

解决方案:

切换到root用户下,编辑/etc/security/limits.conf文件

vim /etc/security/limits.conf

编辑内容如下:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

3.2 max number of threads [1024] for user [hadoop] is too low, increase to at least [2048]

解决方案:

在root用户下

vim /etc/security/limits.d/90-nproc.conf

修改如下内容:

# 将
# * soft nproc 1024
# 修改为

* soft nproc 2048

3.3 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案:

在root用户下

编辑vim /etc/sysctl.conf文件

添加下面配置:
vm.max_map_count=655360


并执行命令:
sysctl -p

3.4 system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

解决方案:

elasticsearch.yml中配置bootstrap.system_call_filter为false

bootstrap.system_call_filter: false

3.5 Java HotSpot™ 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=‘Cannot allocate memory’ (errno=12)

image

这个问题表示jvm的内存不足

解决方案:

vim config/jvm.options

# 将jvm内存参数2g改为512m
# -Xms2g  
# -Xmx2g  
# 修改为  

-Xms512m  
-Xmx512m 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值