错误1:error=’Cannot allocate memory’ (errno=12)
默认分配jvm空间大小为2g,需要改小一点,内存不足的话改小一点,太小也是启动不了的哦
vim config/jvm.options
-Xms2g → -Xms512m
-Xmx2g → -Xmx512m
错误2: can not run elasticsearch as root
这里很明显,不能用root来运行
所以需要创建一个非root用户,以非root用户来起es
groupadd elk # 创建用户组elk
useradd elk -g elk -p 111111 # 创建新用户elk,-g elk 设置其用户组为 elk,-p 111 设置其密码6个1
chown -R elk:elk /opt # 更改 /opt 文件夹及内部文件的所属用户及组为 elk:elk
su elk # 切换到非root用户elk下来
错误3:(1) max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
(2) max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
此错误出现在修改config/elasticsearch.yml中的network.host为network.host: 0.0.0.0以便让外网任何IP都能来访问时。
调整一下参数:
vim /etc/security/limits.conf
* soft nofile 300000
* hard nofile 300000
* soft nproc 102400
* soft memlock unlimited
* hard memlock unlimited
错误4:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
然后可以执行以下命令,设置 vm.max_map_count
,但是重启后又会恢复为原值。
sysctl -w vm.max_map_count=262144
持久性的做法是在 /etc/sysctl.conf 文件中修改 vm.max_map_count 参数:
echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p