1. 下载,解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
tar -zxvf elasticsearch-6.5.4.tar.gz
2.创建用户和组
groupadd bigdata useradd elastic -g bigdata -p 123456
3.更改权限
# 将elasticsearch-6.5目录下的所有权限赋予刚创建的用户 chown -R elastic:bigdata elasticsearch-6.5.4
4. 修改ip ,修改配置文件
vi elasticsearch-6.5.4/config/elasticsearch.yml
配置文件修改如下:
cluster.name: el-cluster-name # 集群名称 node.name: node-1 # 端点名 #node.attr.rack: r1 path.data: /home/elasticsearch/data # 数据目录 path.logs: /home/elasticsearch/logs # 日志目录 network.host: 0.0.0.0 # 本机IP http.port: 9200 # http 端口 bootstrap.system_call_filter: false # centOS7 以下关闭
5.启动
./elasticsearch
6.常见错误
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2]: max number of threads [3780] for user [esyonghu] is too low, increase to at least [4096] [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
6.1 针对错误[1]、[2],可以采取如下方式
修改 /etc/security/limits.conf 配置文件:
[root@yqtrack-elk03 /]# vim /etc/security/limits.conf 添加如下配置项: * - nproc 65535 * - nofile 409600 * - memlock unlimited
修改 /etc/security/limits.d/90-nproc.conf 配置文件:
[root@yqtrack-elk03 /]# vim /etc/security/limits.d/90-nproc.conf 修改如下配置项目: * soft nproc unlimited root soft nproc unlimited
修改完成后,重新登录elk账户,查看设置是否生效。
[elk@yqtrack-elk03 /]$ ulimit -n
409600
[elk@yqtrack-elk03 /]$ ulimit -u
65535
6.2 针对错误[3],max_map_count过小, 可以采取如下方式
修改 /etc/sysctl.conf 文件配置项:
[root@localhost /]# vim /etc/sysctl.conf # 一个进程可以拥有的VMA(虚拟内存区域)的数量: vm.max_map_count=262144 # 调用虚拟内存的阈值数: vm.swappiness=1 #禁用IPv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 [root@localhost /]# sysctl -p
6.3 针对错误[4],可以采取如下方式:
出现错误的原因:是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
在elasticsearch.yml中添加配置项:bootstrap.system_call_filter为false:
bootstrap.memory_lock: false bootstrap.system_call_filter: false
6.4 root用户启动elasticsearch报错
Elasticsearch为了安全考虑,不让使用root启动,解决方法新建一个用户,用此用户进行相关的操作。如果你用root启动,会出现 “java.lang.RuntimeException: can not runelasticsearch as root” 错误。
解决:用非 root 用户重新启动。
6.5 JVM虚拟机内存不足
错误:“JavaHotSpot(TM) 64-Bit Server VM warning: INFO: error='Cannotallocate memory' (errno=12)”表示内存不足,
其配置文件为config目录下的 jvm.options, 默认为2g,可以修改为1g
7. 外网访问
修改配置 network.host为“0.0.0.0” 修改 discovery.zen.ping.unicast.hosts为“[“0.0.0.0”]”