elasticsearch下载地址
https://www.elastic.co/cn/downloads/elasticsearch
上传安装包
elasticsearch-7.13.2-linux-x86_64.tar.gz
将ES解压到当前目录
[linux@localhost software]$ tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /opt/module/
修改配置文件
[linux@localhost elasticsearch-7.13.2]$ cd config/
[linux@localhost config]$ vim elasticsearch.yml
集群名称,同一集群名称必须相同,可以不配置
单个节点名称
设置节点是否为master节点(true or false)(可选)
node.master: true
设置节点存储数据(true or false)(可选)
node.data: true
把bootstrap自检程序关掉,因为Centos不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
网络部分 改为当前的ip地址 ,端口号保持默认9200就行
自发现配置:新节点向集群报到的主机名
在末尾增加两行配置,添加跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
JVM参数修改
[linux@node1 config]$ vim jvm.options
- Xms 512m
- Xmx 512m
注意:elasticsearch 默认是要1个G的内存,如果在虚拟机中运行,实际上用不了1个G,所以可以改小一点内存;但是生产环境一般128G内存是标配,这个时候需要将这个内存调大
拷贝elasticsearch 到其他机器上,修改配置
[linux@node1 module]$ scp -r elasticsearch-7.13.2/ linux@node2:/opt/module/
node.name: node-2
network.host: 192.168.42.102
[linux@node1 module]$ scp -r elasticsearch-7.13.2/ linux@node3:/opt/module/
node.name: node-3
network.host: 192.168.42.103
在搭建过程中有碰到很多问题,如下:
问题1:Caused by: java.lang.RuntimeException: can not run elasticsearch as root
解决方案:启动es的时候不能用root用户起,需要使用其他用户操作,添加用户如下:
groupadd es
useradd es -g es
passwd es
chown -R es:es elasticsearch-7.13.2
su es
问题2:failed to obtain node locks, tried [[/usr/local/elasticsearch-7.1.1/data/my-application]] with lock
解决方案:elasticsearch进程被占用,杀掉重启即可
问题3:master not discovered yet
1.需要删除每台节点根目录下的data文件夹
2.elasticsearch 在7.1版本之后需要指定主节点,必须在配置文件中指定cluster.initial_master_nodes: [“node-1”]
问题4:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
原因:系统允许 Elasticsearch 打开的最大文件数需要修改成65536
解决方案:
sudo vim /etc/security/limits.conf
添加如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 65536
注意:“*” 不要省略掉,每台机器必须设置
问题5:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
原因:一个进程可以拥有的虚拟内存区域的数量。
解决方案:
sudo vim /etc/sysctl.conf
添加如下内容
vm.max_map_count=262144
执行命令,使配置生效
sysctl -p
注意:每台机器都必须设置
elasticsearch的后台启动
[linux@node1 elasticsearch-7.13.2]$ bin/elasticsearch -d