ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

一、 安装环境
两台cenos7虚拟机,ip为:192.168.1.41和192.168.1.42
elasticsearch需要的JDK版本为1.8. 因此需要给elasticsearch指定jdk1.8(不需要将jdk1.8配置到环境变量).
二、 *载下**安装包
从官网下*载下**elasticsearch 7.1版本的压缩包,kibana7.1压缩包
*载下**地址:https://www.elastic.co/cn/downloads/elasticsearch
*载下**完毕以后上传到linux中:

三、 添加用户组及用户,配置密码
elasticsearch默认是不支持用root用户来启动的,我们建elsearch用户。
# 添加用户组
groupadd elsearch
# 添加用户
useradd -m -g elsearch elsearch
# 配置密码
passwd elsearch
四、 解压文件
gunzip elasticsearch-7.2.0-linux-x86_64.tar.gz tar -xvf elasticsearch-7.2.0-linux-x86_64.tar
目录结构:
bin:启动文件
config:配置文件
log4j2.properties:日志配置文件
jvm.options:java虚拟机的配置
elasticsearch.yml:es的配置文件
data:索引数据目录
lib:相关类库Jar包
logs:日志目录
modules:功能模块
plugins:插件
五、 新建索引数据与日志数据目录
# 在elasticsearch-7.2.0目录中新建目录,注意目录权限
cd elasticsearch-7.2.0 mkdir data cd data mkdir es cd es mkdir data mkdir logs
六、 修改每个进程最大同时打开文件数太小
vi /etc/security/limits.conf
# 增加如下:
# elsearch为用户名
elsearch soft nofile 65536 elsearch hard nofile 65536
# 保存之后,退出当前用户重新登录生效,可用如下命令查看是否修改成功
ulimit -Hn ulimit -Sn
七、 设置最大虚拟内存
vi /etc/sysctl.conf
# 增加如下:
vm.max_map_count=262144
# 修改完之后,执行如下命令生效
sysctl -p
八、 设置最大线程数
vi /etc/security/limits.conf
# 增加如下:
# elsearch为用户名
elsearch soft nproc 4096 elsearch hard nproc 4096
# 保存之后,退出当前用户重新登录生效,可用如下命令查看是否修改成功
ulimit -Hu ulimit -Su
九、 配置elasticsearch
编辑:config/elasticsearch.yml
配置说明:
参数
说明
cluster.name
集群名称,相同名称为一个集群
node.name
节点名称,集群模式下每个节点名称唯一
node.master
当前节点是否可以被选举为master节点,是:true、否:false
node.data
当前节点是否用于存储数据,是:true、否:false
path.data
索引数据存放的位置
path.logs
日志文件存放的位置
bootstrap.memory_lock
需求锁住物理内存,是:true、否:false
bootstrap.system_call_filter
SecComp检测,是:true、否:false
network.host
监听地址,用于访问该es
network.publish_host
可设置成内网ip,用于集群内各机器间通信
http.port
es对外提供的http端口,默认 9200
discovery.seed_hosts
es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
cluster.initial_master_nodes
es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
http.cors.enabled
是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.allow-origin
"*" 表示支持所有域名
节点1:
cluster.name: es-test (集群名称必须一致) node.name: node-1 (节点名称必须不同) node.master: true (是否为主节点) node.data: true path.data: /home/elsearch/elasticsearch-7.2.0/data/es/data path.logs: /home/elsearch/elasticsearch-7.2.0/data/es/logs bootstrap.memory_lock: false bootstrap.system_call_filter: false network.host: 192.168.1.41 http.port: 9200 transport.tcp.port: 9300 discovery.seed_hosts: ["192.168.1.41:9300", "192.168.1.42:9300"] cluster.initial_master_nodes: ["node-1","node-2"] http.cors.enabled: true http.cors.allow-origin: "*" xpack.ml.enabled: false
节点2:
# 增加如下: cluster.name: es-test (集群名称必须一致) node.name: node-2 (节点名称必须不同) node.master: false node.data: true path.data: /home/elsearch/elasticsearch-7.2.0/data/es/data path.logs: /home/elsearch/elasticsearch-7.2.0/data/es/logs bootstrap.memory_lock: false bootstrap.system_call_filter: false network.host: 192.168.1.41 http.port: 9200 transport.tcp.port: 9300 discovery.seed_hosts: ["192.168.1.41:9300", "192.168.1.42:9300"] cluster.initial_master_nodes: ["node-1","node-2"] http.cors.enabled: true http.cors.allow-origin: "*" xpack.ml.enabled: false
十、 修改elasticsearch内存大小
编辑config/jvm.options
# 按需修改如下内存大小即可 -Xms4g -Xmx4g
十一、 运行elasticsearch
在elasticsearch-7.2.0/bin 目录,执行elasticsearch
Cd
./elasticsearch -d
#其中-d表示后台启动