存储集群应与业务服务器不在同一台机器,此处搭建ES存储集群使用单节点的方式。ES集群机器需要实现安装配置好JAVA_HOME环境变量。

安装配置

  1. 下载,版本应与filebeat版本一致: 官网地址
  2. 解压
  3. 修改elasticsearch.yml配置文件: 111.png 其中cluster.name避免使用默认名称,各节点中配置为相同的名称,ES就会自动搜索加入
  4. 启动elasticsearch:

==ES集群启动不允许使用root账户==,所以应该先创建一个用户,使用新创建的用户启动elasticsearch

groupadd elk
useradd -g elk elk
passwd elk                    #创建elk用户密码
chown -R elk:elk $ELASTICSEARCH_HOME
su elk
$ELASTICSEARCH_HOME/bin/elasticsearch -d        #后台启动ES
  1. 启动完成后测试,浏览器输入http://host:9200测试,有如下结果则为正常: 222.png

问题解决

  1. 启动elasticsearch时出现: elasticsearch: which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

    [解决] 在$ES_HOME/config/elasticsearch文件中加入以下配置: JAVA_HOME=/usr/local/jdk1.8

  2. max number of threads [1024] for user [elk] likely too low, increase to at least [2048].

    [解决] 切换到root用户,进入limits.d目录下修改配置文件: vi /etc/security/limits.d/90-nproc.conf 找到并修改为 soft nproc 2048 hard nproc 4096

  3. max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

    [解决] 切换到root用户,进入limits.d目录下修改配置文件。 vi /etc/security/limits.d/90-nproc.conf 找到并修改为 soft nofile 65536 hard nofile 131072

  4. max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    [解决] 修改: vim /etc/sysctl.conf 添加下面配置: vm.max_map_count=655360 并执行命令:sysctl -p