ES 8.x 系列教程:ES 8.0 服务安装(可能是最详细的ES 8教程)

这篇具有很好参考价值的文章主要介绍了ES 8.x 系列教程:ES 8.0 服务安装(可能是最详细的ES 8教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、开发环境操作系统

1.1 选择Windows、Mac or Linux

首先明确一点:我们的首要目的是要快速上手使用Elasticsearch(以下简称ES),安装和部署ES并非重点,企业中真正需要你去安装的可能性或者机会非常小。大家可以想一想,对于刚入职的你来说,公司内部一般来说都已经有了一套完整的技术架构,让你亲自动手搭建除非是公司架构重构或者你作为公司技术团队的核心或者运维。

所以关于ES的安装,我们在基础篇不多做介绍,如果的确有需要,我会在进阶篇和运维篇,分别讲解基于CentOS、K8S搭建ES集群、部署ELK等从零到一完整详细讲解。建议大家跟随课程大纲学习,效率更高。

结论:建议选择Windows或者MacOS,不推荐Linux图形化界面学习(极客除外)。当然这并非绝对,如果你钟爱Linux图形化界面,并非不可以。但须知道,服务器上使用Linux非图形界面,基于Linux的开发和生产环境的部署方式大相径庭,在开发环境中学习到的Linux安装部署完全不适用于生产环境(生产环境的安装部署在运维篇讲解)。

1.2 选择虚拟机还是本地安装

基础篇内容关于ES安装部署限于Elasticsearch的自动发现和基本配置,集群配置相关内容在进阶篇-Elastic分布式原理中讲解,因此为了更高效的学习,建议基于OS本地多节点的部署方式部署集群,或者单节点模式启动均可。

2、学习ES 8 Java版本如何选择

2.1 ES与JDK兼容性

以下位Elasticsearch各个版本和不同Java版本的兼容性列表

Oracle/OpenJDK**/AdoptOpenJDK 1.8.0 Oracle/OpenJDK** 9 Oracle/OpenJDK** 10 Oracle/OpenJDK** 11 AdoptOpenJDK 11 Oracle/OpenJDK** 12 Oracle/OpenJDK**/AdoptOpenJDK 13 Oracle/OpenJDK**/AdoptOpenJDK 14 Oracle/OpenJDK**/AdoptOpenJDK 15 Oracle/OpenJDK**/AdoptOpenJDK/Temurin 16 Oracle/OpenJDK**/Temurin 17 Oracle/OpenJDK**/Temurin 18 Oracle/OpenJDK**/Temurin 19 IBM J9 (any version)
Elasticsearch 5.0.x X X X X X X X X X X X X X
Elasticsearch 5.1.x X X X X X X X X X X X X X
Elasticsearch 5.2.x X X X X X X X X X X X X X
Elasticsearch 5.3.x X X X X X X X X X X X X X
Elasticsearch 5.4.x X X X X X X X X X X X X X
Elasticsearch 5.5.x X X X X X X X X X X X X X
Elasticsearch 5.6.x X X X X X X X X X X X X X
Elasticsearch 6.0.x X X X X X X X X X X X X X
Elasticsearch 6.1.x X X X X X X X X X X X X X
Elasticsearch 6.2.x X X X X X X X X X X X X
Elasticsearch 6.3.x X X X X X X X X X X X X
Elasticsearch 6.4.x X X X X X X X X X X X X
Elasticsearch 6.5.x X X X X X X X X X X X X
Elasticsearch 6.6.x X X X X X X X X X X X X
Elasticsearch 6.7.x X X X X X X X X X X X
Elasticsearch 6.8.x X X X X
Elasticsearch 7.0.x X X X X X X X X X X X
Elasticsearch 7.1.x X X X X X X X X X X X
Elasticsearch 7.2.x X X X X X X X X X X X
Elasticsearch 7.3.x X X X X X X X X X X X
Elasticsearch 7.4.x X X X X X X X X X X
Elasticsearch 7.5.x X X X X X X X X X X
Elasticsearch 7.6.x X X X X X X X X X X
Elasticsearch 7.7.x X X X X X X X X X X
Elasticsearch 7.8.x X X X X X X X X X X
Elasticsearch 7.9.x X X X X X X X X X
Elasticsearch 7.10.x X X X X X X X X X
Elasticsearch 7.11.x X X X X X X X X X X
Elasticsearch 7.12.x X X X X X X X X X
Elasticsearch 7.13.x X X X X X X X X X X
Elasticsearch 7.14.x X X X X X X X X X X
Elasticsearch 7.15.x X X X X X X X X X
Elasticsearch 7.16.x X X X X X X X X X X
Elasticsearch 7.17.x X X X X X X X X
Elasticsearch 8.0.x X X X X X X X X X X X X X
Elasticsearch 8.1.x X X X X X X X X X X X X
Elasticsearch 8.2.x X X X X X X X X X X X X
Elasticsearch 8.3.x X X X X X X X X X X X X
Elasticsearch 8.4.x X X X X X X X X X X X X
Elasticsearch 8.5.x X X X X X X X X X X X

结论:

  • ES 7.x 及之前版本,选择 Java 8
  • Java 9、Java 10、Java 12 和 Java 13 均为短期版本,不推荐使用
  • 对于ES 8.x ,支持 Java 17 和 Java 18,推荐版本:
    • 对于ES 8.0:Java版本仅支持 Java 17,别无选择
    • 对于ES 8.1及以上版本:支持Java 17 以及 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 18。
  • M1(Arm) 系列 Mac 用户建议选择 ES 7.8.x 以上版本,因为考虑到 ELK 不同产品自身兼容性,7.8.x以上版本原生支持 Arm 原生 JDK

2.2 Java下载

● 各大版本jdk国内镜像:https://www.injdk.cn/
● ARM JDK:https://www.azul.com/downloads/?version=java-8-lts&os=macos&package=jdk
● 程序员大礼包:https://www.programmer-box.com/?ref=jdk_1.8

2.3 不同系统下Java环境的安装

此处略过安装过程,如果无安装jdk基础,可自行百度
另外,从7.x开始,以后的版本ES均自带jdk,所以可即使不安装jdk也可正常运行ES。

3、下载和安装ES

3.1 SDK下载地址

  • 官方下载: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
  • 开源社区下载站:http://www.elastic.org.cn/download

3.2 Elasticsearch目录结构

es8.0,Elastic Stack,elasticsearch,es

4、单节点模式下启动ES服务

4.1 创建账号并赋予权限

ES不允许使用root账号启动服务,如果你当前账号是root,则需要创建一个专有账户(以下命令均在root账户下执行,windows系统在power shell下执行)。如果你的账号不是root账号,此步骤可以跳过

4.1.1 创建elastic账号

useradd elastic

4.1.2 设置elastic账号的密码:

passwd elastic

4.1.3 为账号赋予目录权限

chown -R elastic:elastic {{espath}}

4.2 启动命令

es8.0,Elastic Stack,elasticsearch,es

4.3 启动日志

ES在 7.x 版本时,控制台输出 started 时代表服务启动成功,和 7.x 版本不同,
ES 8.x 启动之后会输出以下信息,此时服务已经启动成功了。
es8.0,Elastic Stack,elasticsearch,es
首次启动 Elasticsearch 时,会自动进行以下安全配置:

  • 为传输层和 HTTP 层生成 TLS 证书和密钥。
  • TLS 配置设置被写入elasticsearch.yml
  • 为 elastic 用户生成密码。
  • 为 Kibana 生成一个注册令牌。

红框1:ES为我们生成的elastic账户的默认密码,重要,需要复制记下来
红框2:CA证书的密钥信息,暂时先不管
红框3:ES为Kibana生成的访问令牌,Kibana访问ES服务需要用到。(有效期为 30 分钟)
红框4:ES位其他节点加入集群生成的访问令牌,当前集群中需要加入新节点时,需要携带此令牌(有效期为 30 分钟)

然后您可以启动 Kibana 并输入有效期为 30 分钟的注册令牌。此令牌自动应用 Elasticsearch 集群中的安全设置,使用内置kibana服务帐户向 Elasticsearch 进行身份验证,并将安全配置写入kibana.yml

4.4 修改默认密码

在 ES 8.x版本以后,elasticsearch-setup-passwords设置密码的工具已经被弃用删除,此命令为7.x之前第一次生成密码时使用,8.x在第一次启动的时候会自动生密码。

注意:上述(4.3截图)内容仅在第一次启动时显示,如果需要修改账户密码,需进行以下操作

bin/elasticsearch-reset-password

[-a, --auto] [-b, --batch] [-E <KeyValuePair]
[-f, --force] [-h, --help] [-i, --interactive]
[-s, --silent] [-u, --username] [--url] [-v, --verbose]

使用此命令重置本地领域中的任何用户或任何内置用户的密码。默认情况下,系统会为您生成一个强密码。要显式设置密码,请使用 以交互模式运行该工具-i。该命令在 文件领域中生成(并随后删除)一个临时用户,以运行更改用户密码的请求。

-a, --auto
将指定用户的密码重置为自动生成的强密码。(默认)
-b, --batch
运行重置密码过程而不提示用户进行验证。
-E <KeyValuePair>
配置标准 Elasticsearch 或 X-Pack 设置。
-f, --force
强制命令针对不健康的集群运行。
-h, --help
返回所有命令参数。
-i, --interactive
提示输入指定用户的密码。使用此选项显式设置密码。
-s --silent
在控制台中显示最小输出。
-u, --username
本机领域用户或内置用户的用户名。
--url
指定工具用于向 Elasticsearch 提交 API 请求的基本 URL(本地节点的主机名和端口)。默认值由 elasticsearch.yml文件中的设置确定。如果xpack.security.http.ssl.enabled设置为true,则必须指定 HTTPS URL。
-v --verbose
在控制台中显示详细输出。

比如
elastic账号自动生成新的随机密码,输出至控制台

bin/elasticsearch-reset-password -u elastic

手工指定elastic的新密码

bin/elasticsearch-reset-password --username elastic -i

指定服务地址和账户名

bin/elasticsearch-reset-password --url "https://172.0.0.3:9200" --username elastic -i

4.5 验证服务启动

4.5.1 访问服务

在7.x的版本是通过如下地址访问ES服务:http://localhost:9200/
但是在 8.x 的版本访问会看到如下页面:
es8.0,Elastic Stack,elasticsearch,es

4.5.2 原因解释

这是正常现象,因为 Elastic 8 默认开启了 SSL,将默认配置项由true改为false即可
es8.0,Elastic Stack,elasticsearch,es

4.5.3 推荐做法

关闭SSL虽然可以访问服务了,但这本质上是在规避问题而非解决问题,更推荐的做法是使用https协议进行访问:
https://localhost:9200/,此时如果你的浏览器版本是比较新的版本会出现以下弹窗提示,即:
es8.0,Elastic Stack,elasticsearch,es

4.5.4 解决方案

在chrome该页面上,直接键盘敲入thisisunsafe这11个字符(鼠标点击当前页面任意位置,让页面处于最上层即可输入,输入时是没有任何提示也不显示任何字符的,直接输入即可按回车即可),然后你会看到如下提示:

4.5.5 输入账号密码验证

此时输入账号,也就是在2.5.4的启动日志中,红框一内的内容,确定即可访问ES服务,至此,单节点ES服务启动成功。
es8.0,Elastic Stack,elasticsearch,es

总结

ES 8 默认启动Security,这对新手学习很不友好,实际上违背了Elastic官方设置开发模式的初衷,安全固然重要,但是没必要把门槛设置这么高,建议官方在后续更新中,把Security开发模式中默认关闭,在生产模式下,默认开启。这样更加合理。文章来源地址https://www.toymoban.com/news/detail-819504.html

推荐阅读

  • ES 8.x 集群环境搭建

你的三连是对作者极大的支持,感谢您的关注!

到了这里,关于ES 8.x 系列教程:ES 8.0 服务安装(可能是最详细的ES 8教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 最新安装es8.12.2、es-ik分词器、kibana-8.12.2

    目录 下载官网安装包 百度网盘 提取码:koko Elasticsearch官网 es-ik分词器下载地址 kibana下载地址 es安装部署 上传安装包 解压 添加用户组添加用户 更改目录 Owner 更换es用户 修改 config 包下配置文件 elasticsearch.yml 如下: 修改启动内存大小 启动es 测试验证 本地访问不了原因: 1、

    2024年03月18日
    浏览(50)
  • [C++] 详细教程 - opencv4.8.0安装和验证测试 (Windows + Linux)

    OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了许多常用的图像处理和计算机视觉算法。本文将介绍如何在Linux(Ubuntu)和Windows系统下安装C++版本的OpenCV,并提供验证测试的方法。 OpenCV是一个跨平台的计算机视觉库,它可以用于开发实时的图像处理和计算

    2024年02月03日
    浏览(55)
  • docker安装es8.x及elasticSearch8部分api使用

    docker中安装es8 1、es8的tar下载地址: tar包下载地址) 2、docker load -i es-name 3、docker run -d --name elasticsearch-8.6.2 -e ES_JAVA_OPTS=“-Xms256m -Xmx256m” -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:8.6.2 4、8开始以后不支持直接使用http方式访问es: 4.1、cd /usr/share/elasticsearch/config 4

    2024年02月12日
    浏览(47)
  • Linux CentOs7 安装Mysql(5.7和8.0版本)密码修改 超详细教程

    今天出一期Centos下安装Mysql(详细教程)包括数据库密码跳过修改  目录 1.获取安装包 2.安装程序 安装下载的rpm包 查看安装包 修改5.7版本(重要) 安装MySQL Server 3. 进入数据库 方法1.   查找密码 方法2.   跳过密码 4.修改登录密码 官网下载地址 这里有很多不同的版本(选择

    2024年01月24日
    浏览(64)
  • 【Elasticsearch】从零开始搭建ES8集群并且集成到Springboot,更好的服务电商类等需要全文索引的项目(一)

    最近公司的电商项目越来越庞大,功能需求点也越来越多,各种C端对查询和检索的要求也越来越高,是时候在项目中引入全文检索了。 ElasticSearch 是一个基于 Lucene 的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,并且是基于Java 开发的,我记得很久之前ES还不

    2024年02月15日
    浏览(47)
  • 可能是最简单最通透的Comparable和Comparator接口返回值理解

    先说 Comparator 接口,这个理解了,下一个就理解了 返回-1,1交换不交换位置,如果撇开比较器的两个参数和jdk默认顺序来说,存粹是错误的 接口如下:原文链接 现提出如下标准: 标准1:jdk 默认要升序排列,即程序排序规则是 asc ,升序排列 标准2: Comparator 接口第一个参数

    2024年02月08日
    浏览(42)
  • Docker上安装部署Elasticsearch(ES)详细教程

     前言  ElasticSearch(简称ES) 是一个支持海量搜索引擎服务,当一个分布式系统需要支持海量搜索服务时都会优先上ES。因此掌握ES技术也是一门进入大厂拿高薪的必修课,笔者一直在追求深入掌握ES技术,一方面希望自己有机会还能进大厂并站稳脚跟。退一步讲就算进不了大

    2024年02月04日
    浏览(58)
  • java与es8实战之四:SpringBoot应用中操作es8(无安全检查)

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇是《java与es8实战》系列的第四篇,系列文章写到现在,连个HelloWorld都没运行起来,实在说不过去了... 因此,本篇总体目标明确:实战在SpringBoot应用中操作elasticsearch8 为了降低难度,本篇部署的

    2024年02月11日
    浏览(37)
  • Java与es8实战之二:Springboot集成es8的Java Client

    配置springboot的application.yml 配置es的自签证书 执行如下命令将es容器中的crt文件复制到本地 docker cp 容器名称:/usr/share/elasticsearch/config/certs/http_ca.crt . 将crt文件放至springboot项目的resource路径下

    2024年02月12日
    浏览(40)
  • ES8 集群部署

    准备至少三个节点,配置至少为4核心8G内存 节点名称 节点IP node1 192.168.0.1 node2 192.168.0.2 node3 192.168.0.3 关闭三个节点的防火墙 ​ 1、添加ES用户 es不允许root启动 2、创建安装目录并授权 3、修改操作系统配置 ​ 注意:请严格按照安装顺序来,否则都是坑 ​ 以下步骤都在用户

    2024年02月01日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包