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”]”
