Linux CentOS 7.6 部署单机 ElasticSearch

环境说明:

  • 操作系统:CentOS 7.6
  • 配置:8 核 16G
  • ES 版本:7.13.2

Elasticsearch简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文检索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

ElasticSearch 环境部署
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
Linux CentOS 7.6 部署单机 ElasticSearch_第1张图片
进入官网选择我们需要下载的版本,此处由于我们时Linux环境下安装所以选择的是Linux版本进行下载,待下载完成之后我们可以通过FTP、Xftp、WinSCP、MobaXterm等工具将文件上传到服务器的 /opt/ 目录下,上传完成之后我们可以通过Xshell、MobaXterm、PuTTY等工具连接上Linux服务器然后我们通过 cd 命令进入 /opt/ 目录执行解压操作,如下图:

cd /
cd /opt/
tar -zxvf elasticsearch-7.13.3-linux-x86_64.tar.gz

在这里插入图片描述

执行完解压命令之后我们需要设置环境变量,我们通过 cd 命令进入到 /etc/ 目录编辑 profile 文件,并在文件后面加入以下内容,如下图:

cd /
cd /etc
vi profile

在这里插入图片描述

执行编辑命令之后加入一下内容:

ES_JAVA_HOME=/opt/elasticsearch-7.13.3/jdk
PATH=$ES_JAVA_HOME/bin:$PATH
export ES_JAVA_HOME PATH

Linux CentOS 7.6 部署单机 ElasticSearch_第2张图片
注:Insert 插入,Esc 退出编辑,:wq 保存编辑

编辑完保存之后需要执行 source profile 命令使修改的内容生效,如下图:

source profile

在这里插入图片描述

做完上述操作后我们在命令行输入 javac 或者 java -version 验证环境变量是否配置正确,如下图:

java -version

在这里插入图片描述

能够显示 java 版本号说明我们环境变量配置正确,需要注意的是由于我们下载的 ElasticSearch 安装包里面是自带 jdk 的所以我们就不需要单独去下载 jdk 了。

配置完环境变量之后我们就需要为 ElasticSearch 创建独立的用户组、用户和密码了,我们执行一下命令进行用户组、用户和密码的创建:

groupadd ela		-- 创建 ela 组
useradd -g ela ela	--创建 ela 用户,并且加入 ela 组(前面一个ela是组,后面一个是用户名)
passwd ela 			--为 ela 用户设定登录密码

在这里插入图片描述

创建完用户组、用户、密码之后我们需要为该用户进行授权,目的是为了让 ela 用户拥有操作ElasticSearch的权限,此时执行以下命令:

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

在这里插入图片描述

执行完授权命令之后我们开始创建存储 ElasticSearch 数据的存储目录以及日志输出的目录并将这个目录的权限授权给 ela 用户,如下图:

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

在这里插入图片描述

创建好文件夹并且授权之后开始修改 ElasticSearch 配置文件,我们通过 cd 命令进入到 /opt/elasticsearch-7.13.3/config/ 目录下编辑 elasticsearch.yml 文件,如下图:

cd /
cd /opt/elasticsearch-7.13.3/config/

在这里插入图片描述

vi elasticsearch.yml

在这里插入图片描述

输入编辑命令之后我们对 elasticsearch.yml 文件进行编辑,具体修改信息如下:

# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
#       Before you set out to tweak and tune the configuration, make sure you
#       understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# 集群名称:
#
cluster.name: my-application
#
# ------------------------------------ Node ------------------------------------
#
# 节点名称:
#
node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# 存储数据的目录路径(设置为我们上面创建的文件夹):
#
path.data: /data/es-data
#
# 日志文件路径(设置为我们上面创建的文件夹):
#
path.logs: /data/log/elasticsearch
#
# ----------------------------------- Memory -----------------------------------
#
# 启动时是否锁定内存:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# 监听IP:
#
network.host: 0.0.0.0
#
# 监听端口:
#
http.port: 9200
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# 通过一个初始的主机列表来执行发现当此节点开始
#
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
#
# 设置单节点模式
#
cluster.initial_master_nodes: ["node-1"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true

Linux CentOS 7.6 部署单机 ElasticSearch_第3张图片

修改完配置文件之后我们开始设置分配的内存,通过cd命令我们进入到 /etc/security/ 目录下修改 limits.conf 文件,如下图:

cd /
cd /etc/security/
vi limits.conf

在这里插入图片描述

进入编辑页面之后,我们在后面追加如下内容:

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

Linux CentOS 7.6 部署单机 ElasticSearch_第4张图片

修改保存之后我们进入到 /etc/ 目录下编辑 sysctl.conf 文件,如下图:

cd /
cd /etc/
vi sysctl.conf

在这里插入图片描述

打开文件之后我们在文件最后加入 vm.max_map_count=655360 如下图:

vm.max_map_count=655360

Linux CentOS 7.6 部署单机 ElasticSearch_第5张图片

编辑保存之后需要执行 sysctl -p 重新加载系统参数使修改生效,如下图:

sysctl -p

在这里插入图片描述

完成上述操作之后基本操作就已经完成,此时我们需要检查防火墙是否关闭,执行一下命令检查防火墙防火墙状态:

systemctl status firewalld

在这里插入图片描述

如果防火墙未关闭则执行一下命令关闭防火墙:

// 关闭防火墙
systemctl stop firewalld
// 关闭防火墙开机启动
systemctl disable firewalld

在这里插入图片描述

当防火墙关闭之后我们通过 su ela 命令切换到 ela 用户下启动 ElasticSeach,切换用户之后我们需要进入到 ElasticSearch 安装目录下执行启动文件,如下图:

su ela
cd /opt/elasticsearch-7.13.3/bin/
./elasticsearch -d

在这里插入图片描述

当执行完启动 ElasticSeach 命令之后如果未发生报错那么我们可以通过浏览器访问当前服务器的9200端口进行安装是否安装正确,如下图:
Linux CentOS 7.6 部署单机 ElasticSearch_第6张图片如果浏览器出现上述内容则表示安装成功。

你可能感兴趣的:(ElasticSearch)