ElasticSearch概述及Window和Linux环境下安装

一、ElasticSearch

1、ElasticSearch概述

ES(Elasticsearch)是一个基于开放源代码的分布式搜索引擎,用于快速和灵活地搜索和分析大量数据。它是构建在Apache Lucene之上的,通过提供一个简单而强大的RESTful API来实现全文搜索、结构化搜索、分析和数据可视化的功能。

ES的设计目标是具有高度可扩展性和可靠性,可以在大规模分布式环境中处理PB级别的数据。它通过将数据分片和复制到多个节点上实现分布式存储和搜索,从而提供高性能和高可用性。

ES支持各种类型的数据,包括文本、数字、地理位置、日期等,可以进行复杂的查询和聚合操作,支持全文搜索、模糊搜索、过滤搜索、地理位置搜索等。它还提供了灵活的索引和数据分析功能,可以通过实时仪表板和可视化工具进行数据可视化和监控。

ES还提供了各种插件和集成工具,使其能够与各种数据存储和处理系统集成,例如Hadoop、Spark、Kafka等。它还提供了强大的安全功能,包括身份验证和访问控制,以保护数据的安全性。

总而言之,ES是一个强大而灵活的搜索和分析引擎,适用于各种应用场景,包括企业搜索、日志分析、数据分析和可视化等。它的易用性和可扩展性使得它成为许多公司和组织的首选解决方案。
在这里插入图片描述

2、ElasticSearch使用

在这里插入图片描述

3、ES和solr的差别

在这里插入图片描述

ElasticSearch简介

Solr的简介

在这里插入图片描述

Lucene简介

在这里插入图片描述

4、Solr 和 ElasticSearch 比较

Solr vs ElasticSearch

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述

二、ElasticSearch安装

JDK8,最低要求

使用Java开发,必须保证ElasticSearch的版本与Java的核心jar包版本对应!(Java环境保证没错)

这里在windows上进行安装

1、Windows下安装

1、安装

下载地址:https://www.elastic.co/cn/downloads/

历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

解压即可(尽量将ElasticSearch相关工具放在统一目录下)

在这里插入图片描述

在这里插入图片描述

2、熟悉目录

在这里插入图片描述

bin 启动文件目录
config 配置文件目录1og4j2 日志配置文件jvm.options java 虚拟机相关的配置(默认启动占1g内存,内容不够需要自己调整)elasticsearch.ym1 elasticsearch 的配置文件! 默认9200端口!跨域!
1ib 相关jar包
modules 功能模块目录
plugins 插件目录ik分词器
3、启动

一定要检查自己的java环境是否配置好

在这里插入图片描述

访问127.0.0.1:9200
在这里插入图片描述

2、安装可视化界面

elasticsearch-head

使用前提:需要安装nodejs ,学习Vue的时候,已经装过了

1、下载地址

https://github.com/mobz/elasticsearch-head

2、安装

解压即可(尽量将ElasticSearch相关工具放在统一目录下)

打开package.json文件,查看需要安装的依赖

在这里插入图片描述

3、启动
cd elasticsearch-head
# 安装依赖
npm install
# 启动
npm run start
# 访问
http://localhost:9100/

在这里插入图片描述

下载完成的依赖

在这里插入图片描述

在这里插入图片描述

运行

在这里插入图片描述

访问:存在跨域的问题

存在跨域问题(只有当两个页面同源,才能交互)

同源(端口,主机,协议三者都相同)

在这里插入图片描述

在这里插入图片描述

开启跨域(在elasticsearch解压目录config下elasticsearch.yml中添加)

在这里插入图片描述

在这里插入图片描述

# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"

在这里插入图片描述

先 重启elasticsearch
在这里插入图片描述

再次连接

在这里插入图片描述

如何理解上图:

  • 如果你是初学者

    • 索引 可以看做 “数据库”
    • 类型 可以看做 “表”
    • 文档 可以看做 “库中的数据(表中的行)”
  • 这个head,我们只是把它

    当做可视化数据展示工具

    ,之后

    所有的查询都在kibana中进行

    • 因为不支持json格式化,不方便

3、安装kibana

​ Kibana是一个针对ElasticSearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana ,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板( dashboard )实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。

1、下载地址:

下载的版本需要与ElasticSearch版本对应

https://www.elastic.co/cn/downloads/

历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

在这里插入图片描述

在这里插入图片描述

2、安装

解压即可(尽量将ElasticSearch相关工具放在统一目录下)
在这里插入图片描述

3、启动

在这里插入图片描述

访问 http://localhost:5601

在这里插入图片描述

4、开发工具

(Postman、curl、head、谷歌浏览器插件)

可以使用 Kibana进行测试

在这里插入图片描述

如果说,你在英文方面不太擅长,kibana是支持汉化的

5、kibana汉化

找到中文对应的json文件

在这里插入图片描述

编辑器打开kibana解压目录/config/kibana.yml,添加

在这里插入图片描述

i18n.locale: "zh-CN"

在这里插入图片描述

重启kibana

汉化成功

在这里插入图片描述

4、了解ELK

  • ELK是Elasticsearch、Logstash、 Kibana三大开源框架首字母大写简称

    。市面上也被成为Elastic Stack。

    • 其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架
      • 像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es
    • Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ )收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elasticsearch/kafka等)。
    • Kibana可以将elasticsearch的数据通过友好的页面展示出来 ,提供实时分析的功能。
  • 市面上很多开发只要提到ELK能够一致说出它是一个日志分析架构技术栈总称 ,但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据分析和收集的场景,日志分析和收集只是更具有代表性。并非唯一性。

收集清洗数据(Logstash) ==> 搜索、存储(ElasticSearch) ==> 展示(Kibana)

在这里插入图片描述

5、linux下安装

1.Linux下安装Elasticsearch
1.1 下载和解压安装包
  • 官网下载地址: https://www.elastic.co/cn/downloads/elasticsearch

  • 笔者选择的是7.16.3,使用的是腾讯云服务器

  • 使用xftp等远程文件传输工具,将压缩包 elasticsearch-7.16.3-linux-x86_64.tar.gz 上传到 服务器的 /usr/local/sbin 路径(自定义)下,并在 /usr/local/ 目录下解压缩

tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local
或者使用 unzip等解压缩工具
1.2 内存不足的问题(选)

由于 elasticsearch 默认分配 jvm空间大小为2g,修改 jvm空间,如果Linux服务器本来配置就很高,可以不用修改

进入/usr/local/elasticsearch-7.13.2/config文件夹开始配置,修改jvm.options:

vim /usr/local/elasticsearch-7.13.2/config/jvm.options

在这里插入图片描述

-Xms256m
-Xmx256m
1.3 创建专用的用户启动ES

root用户不能直接启动Elasticsearch,所以需要创建一个专用用户,来启动ES

java.lang.RuntimeException: can not run elasticsearch as root

在这里插入图片描述

#创建用户
useradd elasticsearch
#创建所属组
chown elasticsearch:elasticsearch -R /usr/local/elasticsearch-7.16.3
#切换用户
su elasticsearch
#正常启动即可,注:进入/usr/local/elasticsearch-7.13.2/bin 下
cd /usr/local/elasticsearch-7.13.2/bin
./elasticsearch

以上步骤做完后,也很大概率会报错。我接着针对报错问题,做了如下操作,成功run。

1.4解决外网访问问题

默认情况下,是不支持外网访问,如果你的Elasticsearch安装在其他机器上,你从外网去访问的时候,访问不到。那么需要修改配置。

#进入config文件夹
cd /usr/local/elasticsearch-7.16.3/config
#修改elasticsearch.yml文件
vim elasticsearch.yml

在该文件添加

network.host: 0.0.0.0 #冒号(:)后面有空格
http.port: 9200
1.5 解决报错问题
bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
问题1

在这里插入图片描述

解决:如果可以使用root用户的,就使用root,不能使用就在前面加 sudo

进入 /etc/sysctl.conf 文件,在文件的末尾添加

vm.max_map_count=262144

在这里插入图片描述

查看是否生效

sysctl -p #查看打印的配置,是否有自己添加的即可,如若还是不生效,建议直接重启服务器
问题2

在这里插入图片描述

#进入config文件夹
cd /usr/local/elasticsearch-7.16.3/config
#修改elasticsearch.yml文件
vim elasticsearch.yml

将以下的配置取消注销

在这里插入图片描述

cluster.initial_master_nodes: ["node-1", "node-2"]

注:重启服务器生效

成功访问http://43.138.232.42:9200/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.6 常见问题
问题1

ctrl+Z ,不正常关闭ES

在这里插入图片描述

解决

#查看elasticsearch相关的进程
ps aux | grep elasticsearch
#杀掉进程
kill -9 pid #信息最多的那个
#重新启动ES即可

ElasticSearch概述及Window和Linux环境下安装 到此完结,笔者归纳、创作不易,大佬们给个3连再起飞吧

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

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

相关文章

麒麟系统—— openKylin 安装 Nginx

麒麟系统—— openKylin 安装 Nginx 一、准备工作1. 确保麒麟系统 openKylin 已经安装完毕。 二、下载 nginx三、解压与运行解压检查与编译安装编译运行 四、配置加入到服务中加入环境变量nginx 配置文件 五、常用命令 Nginx 是一款高性能的 HTTP 和反向代理服务器&#xff0c…

Java编程练习之类的封装2

1.封装一个股票(Stock)类,大盘名称为上证A股,前一日的收盘点是2844.70点,设置新的当前值如2910.02点,控制台既要显示以上信息,又要显示涨跌幅度以及点数变化的百分比。运行效果如下:…

【甲方安全建设】DevOps初体验

文章目录 前言传统的开发方式:Docker-解决环境问题 DevOps-CI/CD走向流水线Jenkins工作流程Git拉取代码Maven构建打包通过SSH连接后端服务器 实现效果 DevSecOps-安全赋能关于安全平台漏洞扫描漏洞预警TODO 前言 临近春节,笔者经过半年北漂,…

Linux系统——防火墙

一、防火墙的认识 引言 安全技术 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全…

企业如何对u盘管控,进行U盘管理?公司电脑禁用U盘的方法

随着信息技术的飞速发展,U盘等移动存储设备已成为企业数据传输和存储的重要工具。然而,U盘的滥用和误操作也带来了巨大的安全隐患,如数据泄露、病毒传播等。 因此,对企业而言,如何有效管控U盘的使用,确保数…

Pymysql将爬取到的信息存储到数据库中

爬取平台为电影天堂 获取到的数据仅为测试学习而用 爬取内容为电影名和电影的下载地址 创建表时需要建立三个字段即可 import urllib.request import re import pymysqldef film_exists(film_name, film_link):"""判断插入的数据是否已经存在""&qu…

element表格内多个输入框时如何添加表单校验

以下.vue文件Demo可直接复制运行: 重点: 1:表格数据定义在form里 2:prop需要加索引;索引前的变量不要加form,直接取里边的key,索引后的字段需要和表格里字段属性对应 。:prop"tableInfo.l…

0基础学习VR全景平台篇第140篇:摄影器材保养与维护

上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 摄影器材属于精密仪器,在使用过程中会磨损、老化、积灰。如果不对摄影器材进行清洁和保养,油污、灰尘、水渍长期停留在设备上,不仅会大大缩短相机…

从[redis:LinkedList]中学习链表

文章目录 adlistlistNodelistmacros[宏定义]listCreatelistInitNodelistEmptylistReleaselistAddNodeHeadlistLinkNodeHeadlistAddNodeTaillistLinkNodeTaillistInsertNodelistDelNodelistUlinkNodelistIndexredis3.2.100quicklistredis7.2.2quicklist redis的基本数据类型之一…

简单说说mysql的日志

今天我们通过mysql日志了解mysqld的错误日志、慢查询日志、二进制日志,redolog, undolog等。揭示它们的作用和用途,让我们工作中更能驾驭mysql。 redo 日志 如果mysql事务提交后发生了宕机现象,那怎么保证数据的持久性与完整性?…

网站接入QQ登录

开发者认证,创建应用: (1)先在 QQ 互联 QQ互联管理中心 进行个人开发者认证,并审核 (2)创建【网站应用】,填写正确信息,获得对应的 appid 与 appkey,并审核…

【机器学习】某闯关类手游用户流失预测

Final Project: 某闯关类手游用户流失预测 1 案例简介 手游在当下的日常娱乐中占据着主导性地位,成为人们生活中放松身心的一种有效途径。近年来,各种类型的手游,尤其是闯关类的休闲手游,由于其对碎片化时间的利用取得了非常广泛…

服务器未启动而端口进程仍在运行如何查看并杀死

首先登录服务器然后查看当前监听的端口: sudo netstat -tuln比如这里的8080,我们此时并未启动服务器,但是它却正在运行,这会导致服务器刚启动就秒挂。如果没有日志的话会让人有点疑惑,这种情况可能是之前运行了该进程…

代码随想录day17--二叉树的应用5

LeetCode654.最大二叉树 题目描述: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后…

鸿蒙开发-UI-页面路由

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 文章目录 一、基本概念 二、页面跳转 1.router基本概念 2.使用场景 3.页面跳转参数传递 三、页面返回 1.普通页面返回 2.页面返回前增加一个询问框 1.系统默认询问框 2.自定义询问框 总…

EtherCAT FP介绍系列文章—UDP gateway

EtherCAT主站上的Mailbox Gateway功能,可以用于将EtherCAT mailbox相关协议从外部设备的工具通过邮箱网关路由到EtherCAT从站设备。在EtherCAT规范中定义的所有邮箱协议在此功能中都可用,例如CoE, FoE, VoE, SoE。 但是,这里特别注意的是Mai…

雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Mohist 1.20.2服务器教程,我的世界MOD和插件服开服教程。

雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Mohist 1.20.2服务器教程,我的世界MOD和插件服开服教程。 本教程演示安装的MC服是Mohist 1.20.2版,其他版本也可以参考本教程,差别不大。 本教程使用Docker来运行mc服,可以方…

UserWarning: Glyph 39640 missing from current font问题

是因为不支持中文字体导致的,设置为一个支持中文的字体就行了。 另外,上面的改动会引起负号显示为方块,需要额外再加一条设置。 在中文系统上 import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] # 设置为一个支持…

C#,斯特林数(Stirling Number)的算法与源代码

1 斯特林数 在组合数学,斯特林数可指两类数,第一类斯特林数和第二类斯特林数,都是由18世纪数学家James Stirling提出的。它们自18世纪以来一直吸引许多数学家的兴趣,如欧拉、柯西、西尔沃斯特和凯莱等。后来哥本哈根(…

Docker容器引擎私有仓库的搭建和管理

目录 一、私有仓库搭建和管理 (一)搭建本地私有仓库 1.拉取registry镜像 2.修改docker配置文件并重启 3.运行registry容器 4.给镜像打标签 5.上传到私有仓库 6.查看私有仓库的所有镜像 7.从私有仓库拉取镜像 (1)删除cen…