企业级搜索引擎ElasticResearch安装配置教程

一、简介

            Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。

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

二、安装

ElasticSearch有各个平台的版本,在实际的开发过程中使用较为广泛的也是Linux版本的,因此我们这里主要使用Linux版,直接解压缩即可。

# 通过官方地址下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.0-linux-x86_64.tar.gz

# 解压
tar -zxvf elasticsearch-7.9.0-linux-x86_64.tar.gz -C /home

 安装(这里我安装在我的home目录下)

 解压(解压在home目录下)

三、配置

关于ElasticSearch的配置有很多,下面我主要罗列了一些主要的配置

1. Elasticsearch和JDK版本对应

由于我安装的是elasticsearch-7.9.0版本所以可以使用它内置的JDK,相关版本对应如下

Elasticsearch和JDK版本对应
Elasticsearch版本JDK版本
Elasticsearch 5JDK 8以上版本
Elasticsearch 6.5开始支持 JDK 11
Elasticsearch 7.0开始内置 JDK环境

这里要注意:很多朋友在Linux机器上安装了JDK的版本,例如我自己装的是JDK1.8,直接启动ElasticSearch服务的话会优先搜索Linux本地的JDK使用,显然JDK1.8和elasticsearch-7.9.0版本是不适配的,这里我们通过修改配置文件的方式让它使用elasticsearch-7.9.0自带的JDK。

使用ElasticSearch内置 JDK(注释第39,40,41,42,50行),注释掉对本地JDK的检测使用。

vi /home/elasticsearch-7.9.0/bin/elasticsearch-env

2.  创建新用户

ElasticSearch为了安全起见,默认不允许以root用户启动,所以要使用它我们还得创建一个新用户,这里我创建一个名为elasticsearch方便标识这个用户的功能。

# 添加用户
adduser elasticsearch

# 为elasticsearch用户设置密码
passwd elasticsearch

123456

3. 修改ElasticSearch所属的用户和用户组

# -R 递归修改elasticsearch-7.9.0下所有文件所属的用户和用户组
chown -R elasticsearch:elasticsearch /home/elasticsearch-7.9.0

4. 配置ElasticSearch需要的硬件和软件参数

# 修改打开的最大文件数和最大进程数
vi /etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535
* soft nproc  4096
* hard nproc  4096

# 修改es拥有的内存数(调大)
vi /etc/sysctl.conf

vm.max_map_count=655360

# 查看配置生效
sysctl -p

修改打开的最大文件数和最大进程数

 修改es拥有的内存数(调大)

 查看配置是否生效

5. 设置切换到普通用户利用sudo执行root权限的命令免密码输入

# 添加写权限
chmod +w /etc/sudoers

# 编辑
vi /etc/sudoers

# 针对elasticsearch用户免密
elasticsearch ALL=(ALL) NOPASSWD: ALL
%admin ALL=(ALL) NOPASSWD: ALL

切换到elasticsearch用户,如下免去切换用户时输入密码的流程

# 切换用户
su elasticsearch

6. 配置外部任何机器都可访问ElasticSearch服务

cd /home/elasticsearch-7.9.0/config
vi elasticsearch.yml

# 配置外部任何机器都可访问
network.host: 0.0.0.0(55行)

7. 集群配置

如果需要搭建集群,还需要对节点进行配置,仍然是在config文件中

# 配置节点名称
node.name: node-1(23行)
#初始化节点
cluster.initial_master_nodes: ["node-1"](24行)

四、开放端口

(学习期间可以禁用掉LInux的防火墙,实际开发过程中只能通过开放端口的方式,运营商服务器上的端口和自己服务器的端口都需开放)。

# 开发端口
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent

# 重启防火墙服务
sudo systemctl restart firewalld.service

# 重新加载防火墙
sudo firewall-cmd --reload

# 查看端口是否开放
sudo firewall-cmd --list-ports

五、启动

访问http://192.168.204.99:9200成功,说明启动成功。

这里的地址是Linux服务器的地址+ElasticSearch的端口

cd /home/elasticsearch-7.9.0/bin
# 前台启动,占用窗口
./elasticsearch

# 后台启动-d (daemon)
./elasticsearch -d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值