2021/09/10笔记

今天是教师节,让我们祝老师们节日快乐!

我们于2021/09/10 的学习目标是:Elasticsearch,核心任务为:

1、学习技术:

1)、Elasticsearch基本概念

2)、Lucene与Elasticsearch的关系

3)、Elasticsearch与Solr对比

4)、Elasticsearch与关系型数据库对比

5)、Elasticsearch部署与启动

6)、Elasticsearch插件

2、文档总结

1)、Elasticsearch基本概念

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

2)、Lucene与Elasticsearch的关系

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

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

3)、Elasticsearch与Solr对比

Elasticsearch

优点:

  • Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
  • Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
  • 处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。
  • Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
  • 各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

缺点:

  • 还不够自动(不适合当前新的Index Warmup API,即冷启动/预热数据的方式。
  • 当系统长期处于低水位的情况下,流量突然增加时,直接把系统拉升到高水位,可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。)

Solr

优点:

  • Solr有一个更大、更成熟的用户、开发和贡献者社区。
  • 支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及JSON、XML、CSV 等纯文本格式。
  • Solr比较成熟、稳定。
  • 不考虑建索引的同时进行搜索,速度更快。

缺点:

  • 建立索引时,搜索效率下降,实时索引搜索效率不高。

4)、Elasticsearch与关系型数据库对比

对比:

  • 一个ES集群可以包含多个索引(数据库)
  • 每个索引又包含了很多类型(ES7中已作废)
  • 类型中包含很多文档(行)
  • 每个文档包含很多字段(列)

特点:

传统关系型数据库为特定列增加一个索引,例如B-Tree索引来加速检索。

Elasticsearch和Lucene使用一种叫做倒排索引(inverted index)的数据结构来达到相同目的。倒排索引来自于实际应用中需要根据属性的值来查找记录。这种索引表的每一项都包括一个属性值和具有该属性值的各记录地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而被称为倒排索引。

5)、Elasticsearch部署与启动

到Elasticsearch官网下载elasticsearch的tar.gz安装包

创建 es 目录

mkdir -p /usr/local/elasticsearch/es1

解压

tar -zxvf elasticsearch-7.4.2-linux-x86_64.tar.gz -C /usr/local/elasticsearch/es1/

修改配置文件elasticsearch-env

JAVA_HOME="/usr/local/elasticsearch/es1/elasticsearch-7.4.2/jdk/"

创建 es 用户组和 es 用户,并将其添加到用户组 es 中

(es 默认不允许 root 用户操作)

groupadd es

useradd es -g es

更改 es 文件夹及内部文件的所属用户及组为 es:es

chown -Rf es:es /usr/local/elasticsearch/

切换到 es 用户启动

su es

cd bin/elasticsearch

修改 config/elasticsearch.yml 文件

#学习时使用0.0.0.0放行所有IP,生产环境需配置允许访问的IP

network.host: 0.0.0.0

#在文件末尾添加如下信息

#添加集群发现配置

#指定可以成为Master的所有节点的name或者IP

discovery.seed_hosts: ["192.168.10.100"]

cluster.initial_master_nodes: ["192.168.10.100"]

切换至root用户添加防火墙规则,重启防火墙

su root -A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT

systemctl restart iptables.service

切换es用户重启elasticsearch,重启之前先查询es进程然后杀死进程

kill -9 进程号

bin/elasticsearch -d

修改/etc/security/limits.conf文件

vi /etc/security/limits.conf

在文件末尾添加如下信息

es soft nofile 65535

es hard nofile 65535

es soft nproc 4096

es hard nproc 4096

修改/etc/sysctl.conf文件

#在文件末尾添加如下信息

vm.max_map_count = 262144

重新加载虚拟内存配置

sysctl -p

修改config/jvm.options文件

vi config/jvm.options
#注释CMS

#-XX:+UserConcMarkSweepGC

#使用G1

-XX:+UseG1GC

在浏览器访问192.168.10.100:9200

6)、Elasticsearch插件

可视化工具

  • head
  • cerebro
  • elasticHD

KiBana

IK Analysis中文分词器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值