搭建 ELK 日志平台 - 安装 Elastic Search
最近搭建了一次 ELK 日志平台,在此记录一下安装步骤。由于本次模拟的是服务器不能连接互联网的情况,所以全部安装步骤皆使用 RPM 或 tar 包的方式安装。本文主要记录安装 Elastic Search 的过程。
安装 JRE
首先这套平台是基于 Java 的,所以 Java 运行环境当然是不能少。但因为这上面不涉及 Java 的开发,所以不需要装 JDK,装 JRE 就够了,还能省下一些磁盘空间。我这里选择 JRE8u161
。
我这次选择使用 RPM 包安装。
1 | sudo rpm -ivh jre-8u161-linux-x64.rpm |
安装完毕后,验证安装是否成功:
1 | # 检验当前用户下是否安装成功 |
若都输出如下内容则说明安装成功:
1 | java version "1.8.0_161" |
至此 Java 环境配置完成
安装 Elastic Search
安装过程
使用 RPM 包安装
直接使用 rpm 命令安装该 RPM 包
1 | sudo rpm --install elasticsearch-6.2.2.rpm |
CentOS 7 使用 systemd 管理开机自启动项,而且安装过程已经配置好针对 systemd 的启动脚本,使用如下命令激活
1 | sudo systemctl daemon-reload |
使用 tar.gz 包安装
首先新建一个名为 elk 的用户,用于运行 ELK 平台
1 | useradd -m elk |
下载好 Elastic Search 的安装包,将其复制到 /opt 并解压,然后试运行
1 | sudo cp elasticsearch-6.1.3.tar.gz /opt |
启动成功后,在另一终端使用 curl 尝试连接 Elastic Search
1 | curl http://127.0.0.1:9200 |
若有如下返回,则说明 Elastic Search 启动成功
1 | { |
安装后的配置
系统配置文件修改
Elastic Search 需要调整文件描述符大于 65535、最大线程数大于 4096、以及 vm.max_map_count
大于 262144。所以修改操作系统配置文件以满足此要求。
在 /etc/security/limits.conf
插入如下内容
1 | * hard nofile 65536 |
在 /etc/sysctl.conf
中插入如下内容
1 | vm.max_map_count=262144 |
然后执行 sysctl -p
,并重新登录,使配置生效。若配置成功,则可见 Elastic Search 启动过程中相关的警告信息将不再出现。
Elastic Search 配置文件修改
以下文件位置根据安装方法不同而不同
若使用 RPM 包方式安装,则文件位于 /etc/elasticsearch
若使用 tar 包方式安装,则文件位于解压出来的目录的 conf 文件夹中
修改
cluster.name
我们应当将集群名设置成一个能清晰地表明该集群的作用的名字,如logging-prod
。修改
node.name
为每个 Elastic Search 节点起一个清晰易懂的名字绝不会是一件坏事。
节点名字可以是一个自定义的名字,如prod-data-2
,也可以使用${HOSTNAME}
来把本机的主机名作为该节点的节点名。其他详细配置
要想了解更多配置,可以参考 Elasticsearch Reference 的 Set up Elasticsearch 部分。
配置自动启动
如果使用 RPM 包方式安装,则此步可忽略。
若使用 tar 包方式安装,则进入 Elastic Search 的 bin 目录后运行
1 | ./elasticsearch -d -p ../logs/elasticsearch.pid |
使 Elastic Search 以 daemon 模式启动并监控启动过程。
参考文献
- Elastic Search Installation Guide