环境说明:
Elasticsearch简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文检索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
ElasticSearch 环境部署
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
进入官网选择我们需要下载的版本,此处由于我们时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
编辑完保存之后需要执行 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
修改完配置文件之后我们开始设置分配的内存,通过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
修改保存之后我们进入到 /etc/
目录下编辑 sysctl.conf
文件,如下图:
cd /
cd /etc/
vi sysctl.conf
打开文件之后我们在文件最后加入 vm.max_map_count=655360
如下图:
vm.max_map_count=655360
编辑保存之后需要执行 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端口进行安装是否安装正确,如下图:
如果浏览器出现上述内容则表示安装成功。