CentOS 搭建 ElasticSearch 日志服务器

环境说明

操作系统:CentOS 7.6.1810 (Core)

硬件配置:1核2G

JDK 版本:13.0.1

ElasticSearch 版本:7.4.1

Elasticsearch 简介

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

由于Elasticsearch是用Java语言开发的,所以我们需要安装JDK

一. JDK 安装

JDK官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html

下载完之后我们通过 WinSCP 工具将压缩包上传到服务器的  /usr/local 目录下

CentOS 搭建 ElasticSearch 日志服务器

上传完成之后我们通过 Xshell 工具连接 CentOS 服务器,登录成功之后我们使用 cd 命令进入 /usr/local/ 目录下执行下面解压命令:

tar -zxvf jdk-13.0.1_linux-x64_bin.tar.gz

CentOS 搭建 ElasticSearch 日志服务器

解压完成之后我们使用 cd 命令进入 /etc/ 目录下配置环境变量:

vi profile

CentOS 搭建 ElasticSearch 日志服务器

打开文件后我们在最后加入

JAVA_HOME=/usr/local/jdk-13.0.1 
PATH=$JAVA_HOME/bin:$PATH 
export JAVA_HOME PATH

CentOS 搭建 ElasticSearch 日志服务器

注:Insert 插入,Esc 退出编辑,:wq 保存编辑 

修改完之后我们需要重新加载配置文件,执行 source 命令

source profile

CentOS 搭建 ElasticSearch 日志服务器

配置文件重新加载完之后我们检验一下 JDK 是否安装成功,执行 javac 或者 java –version 

java -version

CentOS 搭建 ElasticSearch 日志服务器

当输入命令出现上述 JDK版本号信息说明 JDK 安装成功了

二. ElasticSearch 安装

ElasticSearch 官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch 

下载完之后我们通过 WinSCP 工具将压缩包上传到服务器的  /opt/ 目录下

CentOS 搭建 ElasticSearch 日志服务器

上传完成之后我们通过 Xshell 工具连接 CentOS 服务器,登录成功之后我们使用 cd 命令进入 /opt/ 目录下执行下面解压命令:

tar -zxvf elasticsearch-7.4.1-linux-x86_64.tar.gz

CentOS 搭建 ElasticSearch 日志服务器

解压完成之后我们需要为 ElasticSearch 创建独立的用户去启动和管理

groupadd ela            创建 ela组 
useradd -g ela ela      创建 ela用户,并且加入ela组 
passwd ela              为 ela 用户设定登录密码

CentOS 搭建 ElasticSearch 日志服务器

为了让 ela 用户拥有对 Elasticsearch 执行权限,在 root 用户权限下解压后,需要将软件包更改属主属组:

chown -R ela:ela /opt/elasticsearch-7.4.1

CentOS 搭建 ElasticSearch 日志服务器

授权之后接下来我们就需要修改 ElasticSearch 配置文件了,我们使用cd命令进入 /opt/elasticsearch-7.4.1/config/ 目录下执行下面命令: 

vi elasticsearch.yml

CentOS 搭建 ElasticSearch 日志服务器

修改参数的命令与上面修改环境变量的命令一样,具体要修改的几个参数如下

// 打开设定 ElasticSearch 集群名称
cluster.name: my-application

// es当前节点名称,用于区分不同节点 
node.name: node-1

// 修改数据目录,此目录为自定义,需要在 root用户下创建,且属主属组更改为ela 
path.data: /data/es-data 

// 日志目录位置,需自己创建,方式同上 
path.logs: /var/log/elasticsearch

// elasticsearch官网建议生产环境需要设置bootstrap.memory_lock: true 但亲试没用 得设为false 
bootstrap.memory_lock: false 

// 监听访问地址为任意网段 
network.host: 0.0.0.0 

// 服务监听端口 
http.port: 9200 

// 通过一个初始的主机列表来执行发现当此节点开始 
discovery.seed_hosts: ["127.0.0.1", "[::1]"] 

// 设置单节点模式 
cluster.initial_master_nodes: ["node-1"]

修改完配置文件之后我们需要创建日志文件夹并给文件夹授权

mkdir -p /data/es-data 
mkdir -p /var/log/elasticsearch 
chown -R ela:ela /data/ 
chown -R ela:ela /var/log/elasticsearch

CentOS 搭建 ElasticSearch 日志服务器

创建完文件夹之后我们需要分配内存,使用 cd 命令进入 /etc/security/ 目录下执行下面命令: 

vi limits.conf

CentOS 搭建 ElasticSearch 日志服务器

打开之后添加以下内容:

* soft nofile 65536 
* hard nofile 65536 
ela hard memlock unllimited 
ela soft memlock unlimited

CentOS 搭建 ElasticSearch 日志服务器

修改完之后我们使用 cd 命令进入 /etc/ 目录下修改系统参数:

vi sysctl.conf

CentOS 搭建 ElasticSearch 日志服务器

打开之后添加以下内容:

vm.max_map_count=655360

CentOS 搭建 ElasticSearch 日志服务器

修改完保存退出后,从指定的文件加载系统参数 

sysctl –p

CentOS 搭建 ElasticSearch 日志服务器

系统参数修改完之后我们需要修改下JDK垃圾回收的参数,我们使用 cd 命令进入 /opt/elasticsearch-7.4.1/config/ 目录下打开编辑 jvm.options 文件

vi jvm.options

CentOS 搭建 ElasticSearch 日志服务器

打开之后修改一下参数保存退出就可以了

将 : 
-XX:+UseConcMarkSweepGC 

改为: 
-XX:+UseG1GC

CentOS 搭建 ElasticSearch 日志服务器

修改完之后所以配置项就修改完了,接下来就是启动 ElasticSearch 了,我们使用 cd 命令进入 /opt/elasticsearch-7.4.1/bin/ 目录下执行命令

首先我们需要通过 su 命令切换到我们刚才创建的用户然后启动 ElasticSearch,命令结尾如果带 -d 代表后台启动,如果不带则表示直接启动

su ela
./elasticsearch -d

CentOS 搭建 ElasticSearch 日志服务器

ElasticSearch 启动成功之后我们可以通过 IP:9200 在浏览器中访问,如果出现下图所示则代表安装成功:

CentOS 搭建 ElasticSearch 日志服务器

如果访问不了也可能是 CentOS 防火墙没有关闭,可以使用下面命令关闭防火墙

// 查看防火墙状态 
systemctl status firewalld 
// 关闭防火墙 
systemctl stop firewalld 
// 禁止开机打开防火墙
systemctl disabled firewalld