ElasticSearch学习笔记一——下载及安装

最近发现ES是个很重要的内容啊,各种大厂都会使用ES来做一些大范围的搜索之类的功能,所以今天我们也来学习一下。

首先我们要准备Java的环境,推荐版本8、11、14

ES官方的JDK兼容性列表(有些慢,需要耐心等待一下哈)

在我写文章时,针对JDK1.8能支持的ES最高版本是Elasticsearch 7.17版本。

ES官方的操作系统兼容性列表(有些慢,需要耐心等待一下)

 ES官方的自身产品兼容性(同样有些慢)

接下来我们要开始下载安装ES了

elastic官方下载地址    或者使用     elastic中文下载中心

我这边访问官方地址太慢了,所以就用后者下载中心进行下载了,学习的版本为7.10.0

 下载完成后,我们得到文件

将该文件解压两次,得到最终文件

ElasticSearch目录结构如图:

目录名称描述
bin可执行脚本文件,包括启动elasticsearch服务,插件管理,函数命令等。
config配置文件目录,如elasticsearch配置、角色配置、jvm配置等。
libelasticsearch依赖的java库。
data默认的数据存放目录,包含节点,分片,索引,文档的所有数据,生产环境要求必须修改。
logs默认的日志文件存储路径,生产环境要求必须修改。
modules包含所有的elasticsearch模块,如Cluster、Discovery、Indices等。
plugins保存已经安装的插件。
jdk/jdk.app

7.0以后才有的自带的java环境。

然后将我们下载好的文件放到Linux服务器上。

# 解压linux压缩包
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz# 将ES文件夹改名(便于后面使用,不改也没关系)
mv elasticsearch-7.10.0 elasticsearch# 因为安全问题,ES不支持root用户直接访问,所以需要创建新用户
# 在服务器中新增名称为es的用户
useradd es# 设置用户的登录密码,需要输入es用户的密码
passwd es# 将改名后的ES文件夹使用权限赋予用户es
chown -R es:es ES文件的全路径名称# 如果需要删除用户
userdel -r es# ES可能会产生大量文件,所以可以限制每个进程能够打开的最大文件数
vim /etc/security/limits.conf
# 在文件末尾添加
es soft nofile 65535
es hard nofile 65535vim /etc/security/limits.d/20-nproc.conf
# 在文件末尾添加
es soft nofile 65535
es hard nofile 65535vim etc/sysctl.conf
# 在文件末尾添加
vm.max_map_count=655360# 最后重新加载
sysctl -p# 切换用户
su es# 在ES文件夹中bin目录下,输入该命令启动
elasticsearch

 哎,试了一下午,我的服务器内存不够用了。。。只能用本地windows的ES了。

我们可以通过elasticsearch文件夹中的config目录下的jvm.options去确定ES所需要的内存大小。

通过JDK文件夹中jre/lib/amd64/jvm.cfg文件设置JVM的可分配的内存大小。

最后我在Linux环境上通过free -m(以M为单位展示物理内存的使用情况)发现,剩余内存根本支持不了ES的启动,所以最终放弃了,只有会使用windows版进行学习。

验证服务启动成功:访问 http://localhost:9200 显示类似json内容

到这里ES就安装完成了,希望对小伙伴们有帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19863.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iview-admin使用小结

首先在使用一个框架之前一定要完整的看一下相关文档,因为框架中会封装常用的功能,也会更加符合大众要求。在ui设计图上,可能实现某个功能设计图中给出的交互并不是很好,而在框架中有更好的组件可以实现,但因为没有看文…

Python中的迭代器

一、介绍 在Python中,迭代器是一种访问集合元素的方式,可以用于遍历数据集中的元素,而不需要事先知道集合的大小。迭代器可以被用于循环语句中,例如for循环,来遍历集合中的每个元素。 Python中的迭代器是一个实现了迭…

Wholebody 3D keypoint估计:从H3WB开始

目录 前言一、H3WB1.下载2.标注格式3.任务分析验证评估 总结 前言 这份工作是首次尝试去检测3D全人体姿态的工作.我们使用的数据集是基于Human3.6M的3D全人体关键点数据集&#xff…

HTML元素中有中文、英文、符号、数字。第一行没排满就自动换行的解决办法:word-break:break-all的使用

word-break: break-all 是一个CSS属性,用于控制文本在容器中的换行方式。它的作用是强制在任意字符之间进行换行,即使这样可能会导致单词被分割。 具体来说,word-break 属性有以下几个取值: normal(默认值&#xff09…

Ubuntu 包管理的 20 个“apt-get”命令

动动发财的小手,点个赞吧! 在引入 apt 命令之前,apt-get 命令是基于 Debian 的 Linux 发行版中使用的主要包管理命令。 使用 apt-get 命令,您可以在系统上安装、删除、升级、搜索和管理软件包。然而,从 Ubuntu 16.04 和…

请求响应-简单参数的接受

请求响应 请求(HttpServletRequest):获取请求数据响应(HttpServletResponse):设置响应数据BS架构:Browser/Server,浏览器/服务器架构。客户端只需要浏览器,应用程序的逻…

前端 - 接口请求抓包 Status Canceled 分析

问题描述 上图是来自于百度的抓包请求分析状态,一般常见的有 status 200,500,404,504,403,302……但这次遇到一个 status canceled(第一次遇见还真一脸懵~) 原因分析 那响应statu…

【聚类算法】密度峰值聚类算法DPC(Density Peak Clustering Algorithm)

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 密度峰值聚类算法(Density Peak Clustering Algorithm),能够自动发现数据中的密度峰值点,并根据峰值点将数…

MongoDB快速入门

虽说现在关系型数据库还是主流,但是面对某些需求的时候,需要非关系型数据库来补充它,学习一个主流的NoSQL数据库还是很有必要的。MongoDB是一个功能丰富的NoSQL数据库,本文整理了它最常用的部分形成了这篇入门教程,希望…

Java-通过IP获取真实地址

文章目录 前言功能实现测试 前言 最近写了一个日志系统,需要通过访问的 IP 地址来获取真实的地址,并且存到数据库中,我也是在网上看了一些文章,遂即整理了一下供大家参考。 功能实现 这个是获取正确 IP 地址的方法,可…

C++之装饰器适配器模式

目录 一、装饰器模式 模式思想 模式简介 模式优点 模式缺点 代码实现 情景模拟 代码实现 运行结果 二、适配器模式 模式简介 介绍 优点 缺点 代码实现 情景模拟 一、装饰器模式 模式思想 模式简介 装饰器模式(Decorator Pattern)允许向…

Sentinel服务器容错简介

spring gateway 详解 服务容错高并发带来的问题服务雪崩效应常见容错方案常见的容错思路1、隔离2、超时3、限流4、熔断5、降级 常见的容错组件 SentinelSentinel 具有以下特征:Sentinel概念和功能相关概念1、资源2、规则 重要功能 服务容错 高并发带来的问题 在微服务架构中&…