Centos 7 安装部署 Elasticsearch 集群「版本 7.6.0」
为什么Elasticsearch需要修改可加载的文件描述符和max_map_count?
官方回答:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_file_descriptors_and_mmap.html
环境配置
三台节点
|
Name |
角色 |
|
kerberos01 |
esNode01 |
|
kerberos02 |
esNode02 |
|
kerberos03 |
esNode03 |
安装版本 7.6.0

由于网络问题,从官网下载安装包的速度非常慢,但是有可爱的同学将安装包放在了其他地方可供下载
链接地址:https://blog.csdn.net/weixin_37281289/article/details/101483434
安装步骤
为了后面一次成功,需要先做一些准备工作;
0.准备工作
0.1 创建es用户
elasticsearch 为了保护用户系统,在Linux系统下,是不允许用户以root用户去启动elasticsearch,所以需要用户额外创建用户
## 添加用户
useradd es
## 增加密码
passwd es
## 给es用户赋予elastcsearch文件权限
chown -R es:es elasticsearch-7.6.0
有个习惯,会将自定义安装组件的日志统一放在一个路径下,方便查询日志信息。我在服务器上创建了一个/data/tiezhu/elasticsearch的目录,存放相关日志和信息,需要将这个目录给es用户赋予相应的读写权限,不然会出现启动失败,日志提示不能以root用户启动

这个目录下的内容是与elasticsearch配置文件中匹配;
0.2 配置系统参数
首先,如果不配置以下参数,会出现

[2020-09-25T11:34:19,292][INFO ][o.e.b.BootstrapChecks ] [esNode01] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /data/tiezhu/elasticsearch/log/kerberos-elasticsearch.log
其实这个两个问题,首先解决第一个问题,意思是elasticsearch可加载使用的文件描述符(文件描述符是内核为了高效管理已被打开的文件所创建的索引,用于指向被打开的文件,所有执行I/O操作的系统调用都通过文件描述符)太少,至少要[65535]这么多个,所以修改系统参数,让它能加载那么多个
## 首先切换为 root用户,修改配置文件
vim /etc/security/limits.conf
## 在配置文件中添加
root soft nofile 65535
root hard nofile 65535
* soft nofile 65536
* hard nofile 65536
## 之后退出账户重新登陆
## 查看限制
ulimit -S -n
ulimit -H -n
然后解决第二个问题,修改max_map_count(max_map_count 文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域)
## 首先切换root用户,修改配置文件
vim /etc/sysctl.conf
## 增加一行配置内容
vm.max_map_count=655360
## 重新加载系统参数
sysctl -p
## 然后切换回用户重启elasticsearch
1. 修改配置文件

配置文件描述的很详细,基本上就是根据自己的需求来配置
http.cors.enabled: true // 是否开启跨域访问,默认是false
http.cors.allow-origin: "*" // 可以访问的域名,* 代表任意都可以访问
详细的参数说明:https://blog.csdn.net/u013928062/article/details/84778667
2. 启动参数
./elasticsearch -E path.data=/opt/elasticsearch-7.6.0 -d // 这里的path.data可以使用配置文件里配置的
3. 验证集群
通过访问 kerberos01:9200/_cluster/state 查看集群状态(kerberos01是主节点mater的hostname)

可以利用postman访问API获取相应的信息


浙公网安备 33010602011771号