云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

1、昨晚上更新云服务器部署8.0视频

2、Elasticsearch 8.0 云服务部署和之前方式到底有什么不同?

默认的不修改任何配置的官方推荐的部署方式,很快!基本上 0 配置修改动动鼠标即可完成部署。参考如下文章:

Windows 部署 Elasticsearch + kibana 8.0 指南

但,云服务行不通?为啥?

以我自己的腾讯云服务器为例:

服务器是命令行模式登录,没法以浏览器方式访问。

而官方推荐的快捷部署方式,在kibana 端提供的访问方式如下:

i Kibana has not been configured.
 Go to http://localhost:5601/?code=368039 to get started.

这个 localhost 针对的是云服务器,在我们本机是搞不定的。

更进一步说,官方提供的快捷的部署方式,针对的是本机有浏览器可以访问的场景,没有或者鲜有考虑云服务器部署情况。

那怎么办?

其实这个问题,我思考了好几个晚上。

最终还得回归本源:自己搞安全的方式,不用官方自动生成的 CA 和 密钥方式进行安全通信。

为什么?可控。

  • 一方面:Elasticsearch 可控。
  • 另一方面:与之安全通信的 Kibana 端 可用。

3、云服务器部署8.0集群的整体认知

一图胜千言,接下来我们怎么做一目了然!

3.1 步骤1:先用默认的安装方式搞定 Elasticsearrch 安全配置。

验证机制:

这一步,保存一下 elastic 密码,最后 kibana 访问要用。

3.2 Elasticsearch 端改成自己生成CA 和 证书

3.2.1 TLS tcp 加密通信设置

参考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup.html

步骤1:生成或创建认知中心。
./bin/elasticsearch-certutil ca
步骤2:生成 TCP tls 加密通信的证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
步骤3:修改 elasticsearch.yml 的安全配置

设置:集群名称(按照业务需求来)设置:节点名称(按照业务需求来)设置:TLS 安全加密,参考如下:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

注意:这和自动生成的是一样的。改一下认证名称就可以。

步骤4:将密码存储在密钥库(这一步是坑,必须过!!)

这一步貌似 7.X 没有!

如果您在创建节点证书时输入了密码,请运行以下命令将密码存储在 Elasticsearch 密钥库中:

./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
 
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

到这里,其实 TCP 安全通信部分配置完毕。

如果,此时启动 Elasticsearch, 至少不会报 TLS 加密相关的错误了。

由于,没有设置 Https,此时启动会报 http.p12 相关的 https 认证的错误。

3.2.2 Https 加密通信设置

参考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup-https.html

这块步骤非常多,直接按照官方文档来,就没有问题。

如果有问题,可以多来几遍!别怕出错。

步骤1:生成 Http 的证书
./bin/elasticsearch-certutil http

这里很多细节步骤,一步步到底怎么来?

建议参考官方文档。

步骤2:将生成的 zip 文件解压缩为 elasticsearch 和 kibana 两个文件夹。

zip 文件:elasticsearch-ssl-http.zip,解压缩后截图如下所示:

这两个分别就是:ES 端 Https 的安全加密机制和 kibana与ES 端加密通信机制所需。

官方给出的 sample-elasticsearch.yml 和 sample-kibana.yml 暖暖的,很贴心。

步骤3:在elasticsarch 端配置生成的 http.p12 证书。

其实我们用默认之前生成的就可以。

只需要把新生成的证书拷贝到给定的 config/certs 路径下面就可以。

步骤4:将密码存储在密钥库(这一步是坑,必须过!!)
./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password

到这里,其实 Elasticsearch 单独启动已没有报错了。

4、kibana 安全配置怎么搞?

其实:sample-kibana.yml 给出详细说明。

4.1 与elasticsearch 端默认的Http通信要改成 Https。

4.2 使用生成的证书。

前提:证书拷贝到 config 路径下面。

4.3 需要配置非 elastic 管理员账户和密码

注意:7.X 版本 可以使用 elastic 账户的,8.0 安全需要,已被禁用。

默认给出了 kibana_system 账户,密码咋搞?

可以借助 reset_password 命令行工具实现。

直接:

./bin/elasticsearch-reset-password -u kibana_system

会自己帮我们生成密码,拷贝一下即可。

然后改动配置,参考如下:

至此,kibana 安全部署完毕。

5、kibana 启动完成验证是否成功!

输入最早保存的 elastic 密码就可以了(参考3.1步骤)。

大功告成!!!

首发自:死磕Elasticsearch 知识星球


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
25天前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
|
11天前
|
NoSQL Linux Redis
在 centos7 下重启/开启 redis 服务器
本文提供了一种在Centos 7操作系统下如何重启Redis服务器的步骤,包括停止Redis服务、确认停止成功以及重新启动Redis服务。
19 2
在 centos7 下重启/开启 redis 服务器
|
5天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
17 4
|
3天前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
3天前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
15 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
5天前
|
SQL 分布式计算 大数据
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
14 2
|
5天前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
13 1
|
12天前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
虚拟机centos7.9一键部署docker
|
1月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
237 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战