Elasticsearch (ES)是一个基于Lucene构建的开源、分布式、RESTful 接口全文搜索引擎。Elasticsearch 还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的服务器存储以及处理PB级的数据。它可以在很短的时间内在存储、搜索和分析大量的数据。它通常作为具有复杂搜索场景情况下的核心发动机。es是由java语言编写的。
Elasticsearch就是为高可用和可扩展而生的。可以通过购置性能更强的服务器来完成。
Elasticsearch:官方分布式搜索和分析引擎 | Elastichttps://www.elastic.co/cn/elasticsearch/
我下载的版本是ES7.15.1
Elasticsearch 7.15.1 | Elastichttps://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-15-1
压缩包下载完成后上传到服务器
解压到上级目录,然后进行改名
# 解压缩
tar -zxvf elasticsearch-7.15.1-linux-x86_64.tar.gz -C ../
# 改名
mv elasticsearch-7.15.1 es-7.15.1
在/opt目录下新建module/es目录,同时把es-7.15.1移到该目录
mv es-7.15.1 /opt/module/es
因为安全问题, Elasticsearch 不允许 root 用户直接运行,所以要创建新用户,在 root 用户中创建新用户。
useradd es #新增 es 用户
passwd es #为 es 用户设置密码
userdel -r es #如果错了,可以删除再加
chown -R es:es /opt/module/es/es-7.15.1 #文件夹所有者
修改/root/es-7.15.1/config/elasticsearch.yml文件。
# 加入如下配置
cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
sysctl -p
#启动
bin/elasticsearch
#后台启动
bin/elasticsearch -d
启动前需要先切换到es用户
su es
启动报错:
如果Linux已安装jdk可以跳过这不
jdk下载地址
Java Archive Downloads - Java SE 8u211 and laterhttps://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
上传到服务器
解压压缩包
tar -zxvf jdk-8u311-linux-x64.tar.gz -C ../
mv jdk1.8.0_311 /home/es
/etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西
所以,我们要将jdk配置到/etc/profile,才可以在任何一个目录访问jdk
vim /etc/profile
在profile文件尾部添加如下内容
export JAVA_HOME=/home/es/jdk1.8.0_311
#jdk安装目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
通过命令source /etc/profile让profile文件立即生效
source /etc/profile
测试是否安装成功
javac
java -version
su es
bin/elasticsearch
启动过程中不报错就可以
#后台启动
bin/elasticsearch -d
浏览器中打开 http://服务器IP:9200/,出现如下则说明安装成功