ElasticSearch的安装部署-----图文介绍
文章目录
- 背景
- 什么是ElasticSearch
- 使用场景
- ElasticSearch的在linux环境下的安装部署
- 前期准备
- 分配权限(正式实操)
- 启动ElasticSearch
- 创建用户组
- 创建用户,并设置密码
- 用户添加到elasticsearch用户组
- 指定用户操作目录的一个操作权限
- 切换用户
- 解压elasticsearch
- 修改es的配置文件
- 修改jvm.option,调整jvm堆内存大小
- 可能出现的问题
- 启动
- 验证是否启动成功
- 总结提升
背景
最近项目中要做一个根据某关键字查询商家名称或查询聊天记录的一个功能。这里需要考虑到一个性能的问题,如果聊天的内容很多,怎么才能快速检索的要查询的信息。这里查阅了相关的资料,发现使用ElastSearch比较合适。下面展开关于ElasticSearch的相关内容介绍。
什么是ElasticSearch
Elasticsearch 被设计用于处理大规模数据集并实时查询。它可以快速地索引和搜索各种类型的数据,包括结构化、非结构化和地理空间数据。
是一个高度可扩展的分布式搜索和分析引擎,它能够处理海量数据的索引和检索,并提供实时查询和分析功能。它基于Apache Lucene库构建,使用倒排索引来高效地存储和搜索数据。
在Elasticsearch中,数据被划分为多个分片(shard),每个分片可以在不同的节点上进行复制和分布。这种分布式架构使得Elasticsearch具有高可用性和容错性,即使某个节点或分片发生故障,系统仍然可以继续工作。
Elasticsearch支持各种类型的数据,包括结构化数据、半结构化数据和非结构化数据。它不仅可以用于全文搜索,还可以进行复杂的查询、聚合分析和地理空间分析。您可以通过使用JSON格式来索引和查询数据,而无需预先定义数据模式。
通过使用Elasticsearch的RESTful API,您可以轻松地与其进行交互。您可以使用HTTP请求来执行各种操作,如索引文档、搜索、删除和更新数据。同时,Elasticsearch还提供了强大的查询DSL(Domain Specific Language),以便更灵活地构建查询语句。
除了核心功能之外,Elasticsearch还提供了插件生态系统,可以方便地扩展其功能。这些插件可以用于数据可视化、安全认证、监控和集成到其他工具和系统中。
它具有以下特点:
1、分布式架构:Elasticsearch 使用分片和复制机制来将数据分布在多个节点上,实现数据的水平扩展和高可用性。
2、实时搜索:Elasticsearch 提供了近乎实时的搜索性能,能够在毫秒级别内返回结果。
3、多种查询方式:Elasticsearch 支持全文搜索、精确匹配、模糊搜索、范围搜索等多种查询方式,以满足不同的搜索需求。
4、多样化的数据分析功能:Elasticsearch 提供了丰富的聚合(aggregation)和数据分析功能,如统计、分组、排序、过滤等,可以进行数据探索和可视化。
5、开放性和可扩展性:Elasticsearch 提供了丰富的 RESTful API,易于集成和扩展,同时还支持插件和扩展来满足各种定制化需求。
6、Elasticsearch 被广泛应用于各种场景,如搜索引擎、日志和事件数据分析、实时监控、产品推荐、安全分析等。它的使用范围涵盖了互联网公司、企业组织、科研机构和个人开发者等不同领域。
使用场景
Elasticsearch 在许多不同的场景中都有广泛的应用。以下是一些常见的使用场景:
1、搜索引擎和文档检索:Elasticsearch 能够快速地索引大量的文档数据,并提供高效的全文搜索功能。它被广泛用于构建搜索引擎、内容管理系统(CMS)和知识库等应用。
2、实时日志和事件数据分析:Elasticsearch 可以接收和索引实时产生的日志和事件数据,并提供强大的搜索和分析能力。它被广泛用于系统日志、应用日志、安全日志和运营监控等领域。
3、电子商务和产品推荐:Elasticsearch 可以用于构建电子商务网站的商品搜索和过滤功能。它还可以与机器学习算法结合,实现个性化的推荐系统。
4、数据分析和聚合:Elasticsearch 提供了丰富的聚合功能,可以对索引的数据进行统计、分组、排序和过滤等操作。它可以用于从大规模数据集中提取有价值的信息和洞察。
5、地理空间数据分析:Elasticsearch 内置了地理空间功能,可以索引和查询地理位置数据。它适用于地理信息系统(GIS)、位置搜索和地理可视化等应用。
6、全文搜索和自动补全:Elasticsearch 提供了强大的全文搜索功能,支持各种类型的查询,如模糊搜索、关键词匹配和范围搜索。它还可以通过自动补全功能提供即时的搜索建议。
7、实时监控和报警:Elasticsearch 可以接收和处理实时产生的指标数据,并提供实时的仪表板和报警功能。它被广泛用于应用性能监控、系统运维和大规模分布式系统的监控。
8、智能搜索和语义分析:Elasticsearch 可以与自然语言处理(NLP)技术结合,实现智能搜索和语义分析功能。它可以理解查询意图,提供更准确的搜索结果。
此外,由于 Elasticsearch 具有高可扩展性和开放性,它还可以应用于更多的场景,如推荐系统、社交媒体分析、网络爬虫、数据挖掘和机器学习等。
ElasticSearch的在linux环境下的安装部署
前期准备
确保系统满足要求:检查您的 Linux 系统是否满足 Elasticsearch 的最低系统要求。例如,
1、确保您的系统具有足够的内存和磁盘空间,并且已经安装了 Java 运行时环境(JRE)。
2、安装 Java:Elasticsearch 是用 Java 编写的,因此您需要在系统上安装适当版本的 Java。可以使用以下命令验证 Java 是否已安装:
java -version
3、创建一个非特权用户:为了安全起见,建议使用专用的非特权用户来运行 Elasticsearch。您可以使用以下命令创建新用户并切换到该用户:
sudo adduser elasticsearch
sudo su - elasticsearch
下载 Elasticsearch:访问 Elasticsearch 官方网站https://www.elastic.co/cn/elasticsearch/下载合适的版本。您可以选择稳定版或预览版,根据自己的需求选择正确的版本。
分配权限(正式实操)
ES不能使用root来启动,必须使用普通用户才能安装启动。
启动ElasticSearch
创建用户组
创建了一个名字为elasticsearch的用户组
groupadd elasticsearch
创建用户,并设置密码
useradd gys
passwd xxx
用户添加到elasticsearch用户组
usermod -G elasticsearch gys
指定用户操作目录的一个操作权限
这里的前提是已经把elasticsearch压缩包解压,然后把gys用户的操作权限加到该文件下
chown -R gys /usr/local/elasticsearch/elasticsearch-7.6.1
使用
visudo
编辑权限,在root ALL=(ALL) ALL的下面加一段话,
gys ALL=(ALL) ALL
添加成功之后保存退出(esc,:wq)
切换用户
su gys
解压elasticsearch
在解压的过程中,可能会有人使用tar -zxvf+压缩文件,这里可能会遇到错误是:gzip: stdin: unexpected end of file,这样的错误信息。
那么可以把解压命令中的z去掉,也就是 tar-xvf。
或者可能有人会使用finalshell直接把文件进去,可能也会遇到类似的问题,这里建议使用上传文件,如果直接拖进去可能会造成压缩包的文件缺失。
修改es的配置文件
进入到es的config目录
cd /usr/local/elasticsearch/elasticsearch-7.6.1/config
修改相关信息
vim elasticsearch.yml
把cluster.name…解开注释
node.name解开注释
network.host解开注释,并设置为0.0.0.0,任意主机都能访问到
http.port解开注释
cluster.initial_master_nodes解开注释,这里和节点的名称是一致的
把这些信息加到配置文件的最后
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true //设置跨域
http.cors.allow-origin: "*"
具体含义:
bootstrap.system_call_filter: false:该配置用于禁用 Elasticsearch 在启动时检查系统调用过滤器。系统调用过滤器是一种安全机制,用于限制 Elasticsearch 进程能够执行的系统调用。通过将此配置设置为 false,Elasticsearch 将跳过系统调用过滤器的检查。
bootstrap.memory_lock: false:Elasticsearch 使用内存锁定(mlock)来确保其分配的堆内存不会被交换到磁盘或页面文件中。将该配置设置为 false 表示禁用内存锁定。禁用内存锁定可能会导致 Elasticsearch 在高负载情况下出现性能问题,因为操作系统可能会将内存页交换到磁盘上。
http.cors.enabled: true:该配置用于启用跨源资源共享(CORS)。CORS 是一种浏览器安全机制,用于控制不同源网站之间的资源访问权限。通过将此配置设置为 true,Elasticsearch 将允许来自任何源的跨域 HTTP 请求。
http.cors.allow-origin: “*”:该配置指定允许的跨域请求的来源。通配符 * 表示允许来自任何源的跨域请求。您也可以指定特定的域名或 IP 地址。
然后保存并退出
修改jvm.option,调整jvm堆内存大小
cd /usr/local/elasticsearch/elasticsearch-7.6.1/configvi jvm.options
可能出现的问题
1、普通用户打开文案金的最大数限制
问题错误信息描述:
max file descriptors [4096]for elasticsearch process likely too low.increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除Iiux系统当中打开文件最大数目的限制,不然ES启动就会抛错
三台机器使用baiqil用户执行以下命令解除打开文件数据的限制
进入文件:
sudo vi /etc/security/limits.conf
加入以下内容:
* soft nofile 65535
* hard nofile 65535
保存退出
启动
进入到elassearch的bin目录下:
执行:
./elasticsearch -d
上面这种是后台运行,也就是服务器退出之后该程序还在运行状态中
或者使用该命令也是后台运行
nohup ./bin/elasticsearch > nohup.out 2>&1 &
验证是否启动成功
使用ip+9200在浏览器运行,如果出现下面这些说明是已经运行成功了。
总结提升
Elasticsearch 是一个开源的分布式搜索和分析引擎,具有强大的全文搜索能力和实时数据分析功能。下面是关于 Elasticsearch 的总结提升:
高性能的全文搜索:Elasticsearch 使用倒排索引和分布式搜索算法,能够快速地对海量数据进行全文搜索。它支持复杂的查询语法,并且能够智能地处理词干、拼写错误纠正和近义词等搜索相关性问题。
水平扩展和高可用性:Elasticsearch 可以轻松地水平扩展到多个节点,以应对高并发和大规模数据存储的需求。它使用分片和复制机制来保证数据的可靠性和高可用性,即使有节点故障也能确保系统的正常运行。
实时数据分析:Elasticsearch 不仅可以用于搜索,还可以用于实时数据分析和聚合。它支持聚合操作、多维度分析和可视化。通过与 Kibana 等工具的集成,可以方便地创建仪表盘和报表,帮助用户深入理解数据。
强大的插件生态系统:Elasticsearch 拥有丰富的插件生态系统,可以满足各种不同的业务需求。例如,通过插件可以实现与其他数据源的集成、自定义分析器和搜索过滤器、数据监控和警报等功能扩展。
多种语言支持:Elasticsearch 提供了多种语言的客户端库,方便开发者在各种编程语言中使用 Elasticsearch。无论是 Java、Python、JavaScript 还是其他主流语言,都可以轻松地与 Elasticsearch 进行交互。
易于安装和部署:Elasticsearch 的安装和部署相对简单,官方提供了各个操作系统的安装包和文档教程。它也适合在云环境中部署,如 AWS、Azure 和 Google Cloud 等。
总的来说,Elasticsearch 是一个功能强大、性能卓越的搜索和分析引擎,适用于各种场景,如电子商务网站的商品搜索、日志分析、实时监控等。通过合理的配置和优化,可以将其性能发挥到极致,提供快速、可靠的数据搜索和分析服务。
相关文章:
ElasticSearch的安装部署-----图文介绍
文章目录 背景什么是ElasticSearch使用场景 ElasticSearch的在linux环境下的安装部署前期准备分配权限(正式实操)启动ElasticSearch创建用户组创建用户,并设置密码用户添加到elasticsearch用户组指定用户操作目录的一个操作权限切换用户 解压elasticsearch修改es的配…...
Unity粒子系统ParticleSystem各模块及其参数学习
粒子系统控制面板默认有4个模块:Particle System(主模块),Emission(发射模块), Shape(形状模块),Renderer(渲染器模块) 1.Particle …...
vue3实现卡片翻牌
vue3实现塔罗牌翻牌 前言一、操作步骤1.布局2.操作3.样式 总结 前言 最近重刷诡秘之主,感觉里面的塔罗牌挺有意思,于是做了一个简单的塔罗牌翻牌动画(vue3vitets) 一、操作步骤 1.布局 首先我们定义一个整体的塔罗牌盒子&…...
算法训练营day45|动态规划 part07:完全背包 (LeetCode 70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数)
文章目录 70. 爬楼梯(进阶)(求排列方法数)思路分析代码实现 322. 零钱兑换(求等于背包重量的最小物品数)思路分析代码实现思考总结 279.完全平方数 (求等于背包重量的最小物品数)思路分析代码实现 70. 爬楼梯(进阶)(求排列方法数) 题目链接🔥 假设你正在爬楼梯。需…...
【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建
【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建 Baichuan 2 介绍技术报告github 地址 模型下载开放协议协议 测试评估通用领域测试7B 模型结果13B 模型结果 法律、医疗7B 模型结果13B 模型结果 数学、代码7B 模型结果13B 模型结果 多语言…...
ElasticSearch系列-简介与安装详解
全文检索 讲ElasticSearch之前, 需要先提一下全文检索.全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。 …...
Layui + Flask | 表单组件(组件篇)(07)
http://layui.dev/docs/2.8/form 表单组件 form 是包含输入框、选择框、复选框、开关、单选框等表单项组件的集合,主要用于对表单域进行各类动态化渲染和相关的交互操作。form是 Layui 最常用的组件之一。 表单布局 form 组件自身的普通布局。其要点为: 通过 class="lay…...
【实践篇】Redis最强Java客户端Redisson
文章目录 1. 前言2. Redisson基础概念2.1 数据结构和并发工具2.1.1 对Redis原生数据类型的封装和使用2.1.2 分布式锁实现和应用2.1.3 分布式集合使用方法 2.2 Redisson的高级特性2.2.1 分布式对象实现和使用2.2.2 分布式消息队列实现和使用2.2.3 分布式计数器实现和使用 3. 参考…...
esxi扩容磁盘
esxi扩容磁盘 fdisk -l没用扩容 登录Esxi管理界面扩容磁盘 进入服务器查看 没用变化 (有些可能进去磁盘就是更新,直接就是扩容的,但是没扩容就需要执行下面的命令) [root234-ces /]# fdisk -l Disk /dev/sda: 85.9 GB, 858993…...
核心实验21_BGP高级(了解)(配置略)_ENSP
项目场景: 核心实验21_BGP基础_ENSP 通过bgp实现省市互通。 实搭拓扑图: 具体操作: 其他基础配置略(接口地址,ospf) 1.BGP邻居建立: R1: [R1]bgp 200 [R1-bgp]peer 10.2.2.2 as-number 200 …...
宝塔安装python和openssl
宝塔安装python和openssl OpenSSL Centos7 openssl 升级 1.1.1k.tar.gz centos7系统安装Vicuna(小羊驼)聊天机器人 CentOS中输入yum报错:sudo: unable to execute /bin/yum: No such file or directory opensslrpm安装指南-让你的网站更加…...
TDengine 3.1.1.0 来啦!更新如下
自 3.0 版本发布以来,在研发人员和社区用户的不断努力下,TDengine 做了大量更新,产品稳定性和易用性也在不断提升。近日,TDengine 3.1.1.0 成功发布,本文将向大家简单介绍一下该版本涉及的重大更新。 写在前面 伴随 …...
YSA Toon (Anime/Toon Shader)
这是一个Toon着色器/Cel阴影着色器,用于Unity URP 此着色器的目的是使角色或物体阴影实时看起来尽可能接近真实的动画或卡通效果 可以用于游戏,渲染,插图等 着色器特性,如:面的法线平滑、轮廓修复、先进的边缘照明、镜面照明、完全平滑控制 这个文档包括所有的功能https:/…...
LabVIEW通过IEC61508标准验证ITER联锁系统
LabVIEW通过IEC61508标准验证ITER联锁系统 保护环境要求系统能够保护机器免受工厂系统故障或机器危险操作造成的严重损坏。负责此功能的ITER系统是联锁控制系统(ICS)。该系统通过中央联锁系统(CIS)监督和控制不同的工厂联锁系统&…...
如何处理日期和时间?
处理日期和时间是计算机编程中的常见任务,无论是在C语言还是其他编程语言中。C语言提供了一些库函数来处理日期和时间,主要是通过<time.h>头文件中的函数来完成的。在本文中,我将详细解释如何在C语言中处理日期和时间,包括日…...
【开发】视频集中存储/直播点播平台EasyDSS点播文件分类功能优化
视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法…...
论文多级编号-word2010
多级列表-定义新的多级列表 注意1.1中的两个1必须是灰色(如果不是灰色,解决方法放在文本文末了) 如果定义过程中发现1.1中的1不是灰色,如下图,那么需要操作下述步骤 点击文件-选项 取消勾选自动编号列表。确定后关闭文…...
Jetpack Compose基础组件之 — Text
Text的源码参数预览 Composable fun Text(text: String,modifier: Modifier Modifier,color: Color Color.Unspecified,fontSize: TextUnit TextUnit.Unspecified,fontStyle: FontStyle? null,fontWeight: FontWeight? null,fontFamily: FontFamily? null,letterSpac…...
动手学深度学习——Windows下的环境安装流程(一步一步安装,图文并配)
目录 环境安装官网步骤图文版安装Miniconda下载包含本书全部代码的压缩包使用conda创建虚拟(运行)环境使用conda创建虚拟环境并安装本书需要的软件激活之前创建的环境打开Jupyter记事本 环境安装 文章参考来源:http://t.csdn.cn/tu8V8 官网…...
打印日志遇到的问题,logback与zookeeper冲突
在做项目时需要打印日志引入了logback打印日志,但是一直无法打印,于是一路查找原因。发现zookeeper中默认带的有个logback和我自己引入的logback版本冲突了,这样直接使用exclusions标签将zookeeper中自带的日志框架全部排除即可 按理说到这一…...
【Node.js操作SQLite指南】
Node.js操作SQLite指南 在本篇博客中,我们将学习如何在Node.js中操作SQLite数据库。我们将使用sqlite3模块来创建数据库、创建表以及进行数据的增删改查操作。 文章目录 Node.js操作SQLite指南安装sqlite3模块创建数据库创建表数据的增删改查插入数据查询数据更新…...
PyTorch之张量的相关操作大全 ->(个人学习记录笔记)
文章目录 Torch1. 张量的创建1.1 直接创建1.1.1 torch.tensor1.1.2 torch.from_numpy(ndarray) 1.2 依据数值创建1.2.1 torch.zeros1.2.2 torch.zeros_like1.2.3 torch.ones1.2.4 torch.ones_like1.2.5 torch.full1.2.6 torch.full_like1.2.7 torch.arange1.2.8 torch.linspace…...
ChatGPT生成内容很难脱离标准化,不建议用来写留学文书
ChatGPT无疑是23年留学届的热门话题,也成为了不少留学生再也离不开的万能工具,从总结文献、润色论文、给教授写email似乎无所不能。 各大高校对于学生使用ChatGPT的态度也有所不同。例如,哈佛大学教育代理院长 Anne Harrington 在内部邮件中…...
sqlserver @@ROWCOUNT的使用
T-SQL是一种用于与关系型数据库(如Microsoft SQL Server)交互的SQL(Structured Query Language)方言。 在T-SQL中,ROWCOUNT是一个系统变量,它返回最后执行的语句影响的行数。你提供的代码检查ROWCOUNT的值…...
Hbase批量删除数据
一、TTL机制 HBase的TTL(Time To Live)是一种用于指定数据存活时间的机制。它允许用户为HBase中的数据设置一个固定的生存时间,在达到指定的时间后,HBase会自动删除这些数据。 具体操作如下: 三步走,先禁用…...
飞行动力学 - 第20节-part2-机翼上反及后掠对横向静稳定性的影响 之 基础点摘要
飞行动力学 - 第20节-part2-机翼上反及后掠对横向静稳定性的影响 之 基础点摘要 1. 上反角贡献2. 后掠角贡献3. 参考资料 1. 上反角贡献 对于无后掠、大展弦比带上反的矩形机翼,飞行状态为 α \alpha α, β \beta β及V。 上反角增加稳定性,…...
力扣 -- 1218. 最长定差子序列
参考代码: class Solution { public:int longestSubsequence(vector<int>& arr, int difference) {int narr.size();unordered_map<int,int> hash;//nums[i]绑定dp[i]hash[arr[0]]1;int ret1;for(int i1;i<n;i){int aarr[i];int ba-difference;…...
【程序员装机】在右键菜单中添加Notepad++选项
文章目录 前言在右键菜单中添加Notepad选项的批处理脚本上述批处理脚本的功能包括 总结 前言 本文将介绍如何通过批处理脚本来在Windows右键菜单中添加Notepad选项,使您能够轻松使用Notepad打开各种文件。 在右键菜单中添加Notepad选项的批处理脚本 以下是一个用于…...
Scrapy的基本介绍、安装及工作流程
一.Scrapy介绍 Scrapy是什么? Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架(异步爬虫框架) 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。 Scrapy使用了Twisted异步网络框架&…...
CMS 三色标记【JVM调优】
文章目录 1. 垃圾回收器2. CMS 原理3. 三色标记算法 1. 垃圾回收器 ① Serial:最原始的垃圾回收器,用于新生代,是单线程的,GC 时需要停止其它所有的工作,算法简单,但它只能在内存较小时勉强使用;…...
深圳外贸网站优化/百度关键词点击器
近日,三款主流的源版本控制系统Git、Subversion (svn)、Mercurial,发布了更新补丁,修复了一个客户端代码执行漏洞。 恶意的攻击者可以向受害者发送一条精心构造的ssh:// URL链接,当受害者访问这条URL则会触发漏洞导致执行恶意代码…...
微网站建设难不难/外链发布工具
代码地址下载:代码 代码2...
浙江城乡建设部网站首页/永久免费自助建站平台
职称计算机考试光盘复习题档2009年河北职称计算机考试光盘复习题第一章下列关于个人计算机的叙述中,错误的是___C____。A.个人计算机的英文缩写是PCB.个人计算机又称为微机C.世界上第一台计算机是个人计算机D.个人计算…...
青浦营销型网站建设/合肥网站制作
现在网消息苹果IPad、IPhone正在中国热卖,但137名苹果中国供应商员工,却因暴露在正己烷环境,健康遭受不利影响。苹果公司15日发布2010年的供应链管理报告,首次公开承认中国供应链致残员工。回放:环保组织质疑苹果2010年…...
springboot做网站/河南纯手工seo
在“区块链应用”持续升温的今天,曾一度被人们认为“风口不在”的直播行业,多家直播巨头公司依旧为下一步直播行业的发展发声。陌陌直播总经理贾维先生认为:“之前外界,包括媒体都说‘直播风口不再’,认为直播行业见顶…...
怎么做个人网站/域名注册网站有哪些
点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 什么是 Deque Deque 是 Double ended queue (双端队列) 的缩写,读音和 deck 一样,蛋壳。 Deque 继承自 Queue,直接实现了它的有 LinkedList, ArayDeque, ConcurrentLinkedDeque 等。 Dequ…...