elasticsearch 集群搭建 + kibana配置

  • 一、elasticsearch 集群搭建
    • 1、下载并解压elasticsearch
    • 2、ES集群搭建
      • 2.1 打开防火墙9200,9300端口
      • 2.2 在每个节点中设置证书密码
      • 2.3 配置elasticsearch登录密码
      • 2.4 配置HTTP层TLS/SSL加密传输
    • 3、kibana安装

一、elasticsearch 集群搭建

1、下载并解压elasticsearch

   选择合适的elasticsearch版本下载,这里我们选择elasticsearch7.10.2,下载链接:elasticsearch下载地址

2、ES集群搭建

vi elasticsearch/config/elasticsearch.yml
配置如下,这里开启security验证cluster.name: arkham-cluster
node.name: node-192.168.3.252
cluster.initial_master_nodes: node-192.168.3.252
network.host: 192.168.3.252
http.port: 9200
path.data: /home/arkham/elk/elasticsearch/data
path.logs: /home/arkham/elk/elasticsearch/logs
discovery.zen.ping.unicast.hosts: ["192.168.3.252:9300", "192.168.3.253:9300", "192.168.3.3:9300"]
discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
bootstrap.system_call_filter: false
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true

2.1 打开防火墙9200,9300端口

sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent      #####9200根据实际情况,修改成应用端口,或者要开启的端口
sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent      #####9200根据实际情况,修改成应用端口,或者要开启的端口
sudo firewall-cmd --reload       #######重启防火墙

   此时启动会报错:

Transport SSL must be enabled if security is enabled on a [basic] license. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]

   需要配置传输层TLS/SSL加密传输,传输协议用于Elasticsearch节点之间的内部通信
   elasticsearch解压后bin目录下已经附带了一个名为elasticsearch-certutil的程序,可以直接用于生成加密Elasticsearch集群内部通信的自签名证书,具体操作如下:

./bin/elasticsearch-certutil ca
按下enter后输入密码
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 --dns 192.168.3.252,192.168.3.12 --ip 192.168.3.252,192.168.3.12
输入上方的密码
创建es证书证书一定要加--dns 和--ip否则后期通信会报错

   最后会生产两个文件:elastic-stack-ca.p12和elastic-certificates.p12,去config目录下新建certs目录,将两个文件拷贝至certs目录下,修改elasticsearch.yml配置文件

cluster.name: arkham-cluster
node.name: node-192.168.3.252
cluster.initial_master_nodes: node-192.168.3.252
network.host: 192.168.3.252
http.port: 9200
path.data: /home/arkham/elk/elasticsearch/data
path.logs: /home/arkham/elk/elasticsearch/logs
discovery.zen.ping.unicast.hosts: ["192.168.3.252:9300", "192.168.3.253:9300", "192.168.3.3:9300"]
discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
bootstrap.system_call_filter: false
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

   将配置好之后的elasticsearch整个包复制到另外两台机器上,并修改node.name,host改为各自的ip
   elastic-stack-ca.p12拷贝到es2,es3并重新依次生成带有dns和ip的elastic-certificates.p12证书

2.2 在每个节点中设置证书密码

# 对应的证书密码: xpack.security.transport.ssl.keystore.path
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password# 对应的证书密码: xpack.security.transport.ssl.truststore.path
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

2.3 配置elasticsearch登录密码

bin/elasticsearch-setup-passwords interactive
// 如果想自动生产密码可以用以下指令
bin/elasticsearch-setup-passwords auto

   配置完之后访问elasticsearch需要登录才行

2.4 配置HTTP层TLS/SSL加密传输

   继续使用 PKCS#12 格式的证书,对于HTTP层通信,Elasticsearch节点仅用作服务器,因此可以使用服务器证书,即TLS/SSL证书不需要启用客户端身份验证。而用于加密HTTP通信的证书可以与传输通信不同的证书,与上面一样执行elasticsearch-certutil,生成两个文件这里我们重新命名为http-client.p12和http.p12 ,elasticsearch.yml文件中配置如下:

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/http.p12
xpack.security.http.ssl.truststore.path: certs/http.p12

   设置证书密码

# 对应的证书密码: xpack.security.http.ssl.keystore.path
bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password# 对应的证书密码: xpack.security.http.ssl.truststore.path
bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password

   此时用chrome自带的elasticsearch-head插件连接elasticsearch(elasticsearch-head插件安装自行百度安装)

3、kibana安装

   elasticsearch已经使用了自签名CA,所以我们必须还使用之前的elastic-stack-ca.p12CA来签署HTTP客户端证书,即http.p12的文件,其中包含对我们的Elasticsearch集群进行PKI身份验证所需的所有信息。 这里我们需要将其分解为其私钥,公共证书和CA证书

// Private Key 私钥
openssl pkcs12 -in http.p12 -nocerts -nodes > client.key
// Public Certificate 公共证书
openssl pkcs12 -in http.p12 -clcerts -nokeys  > client.cer
// CA Certificate 签署公共证书的CA
openssl pkcs12 -in http.p12 -cacerts -nokeys -chain > client-ca.cer

   在Kibana根目录创建config/certs目录,并将上面生成的客户端证书复制到目录中,并配置kibana.yml

server.port: 5601
elasticsearch.username: "kibana_system"
elasticsearch.password: ""
kibana.index: ".kibana"
elasticsearch.ssl.certificate: config/certs/client.cer
elasticsearch.ssl.key: config/certs/client.key
elasticsearch.ssl.certificateAuthorities: [ "config/certs/client-ca.cer" ]
elasticsearch.ssl.verificationMode: certificate
xpack.security.enabled: true
server.ssl.enabled: true
server.ssl.certificate: config/certs/client
xpack.security.encryptionKey: "something_at_least_32_characters"
xpack.reporting.encryptionKey: "a_random_string"

   如果不配置秘钥启动kibana时则会出现以下错误

   记得打开5601端口防火墙

sudo firewall-cmd --zone=public --add-port=5601/tcp --permanent      #####9200根据实际情况,修改成应用端口,或者要开启的端口
sudo firewall-cmd --reload       #######重启防火墙

   至此访问https://192.168.3.252:5601/查看节点状态

elasticsearch 集群搭建 + kibana配置相关推荐

  1. Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本)

    Elasticsearch集群搭建手册及配置详情(基于elasticsearch-8.5.2版本) 0 安装前准备工作 0.1 安装包下载 组件 安装包 下载地址 es elasticsearch-8 ...

  2. elasticsearch集群搭建及springboot集成使用

    elasticsearch集群搭建及springboot集成使用 1. ES介绍 2. 原理 2.1 核心概念 2.2 索引功能 2.3 ES特性 3. 分词器(analyzer) 4. 集群搭建 4 ...

  3. elasticsearch集群搭建记录

    elasticsearch集群搭建记录 一.集群服务器配置信息 二.安装 JDK 三.下载 ElasticSearch 安装包和中文分词器并解压 四.创建用于存放数据与日志的目录 五.集群配置 5.1 ...

  4. (六)elasticsearch 集群 网络超时解决方案 --- Elasticsearch 集群搭建

    上一篇: (五)elasticsearch 集群扩展 --- Elasticsearch 集群搭建 因为网络原因,可能会有节点被踢出集群,如果网络恢复,节点会再次加入集群,但是这中间的过程是比较耗费性 ...

  5. redis集群搭建与配置

    redis集群搭建与配置

  6. 第二节HDFS完全分布式集群搭建与配置及常见问题总结

    提示:此文章内容超级全面和详细 文章目录 前言 一.HDFS完全分布式集群是什么? 二.HDFS完全分布式集群搭建与配置 1.HDFS完全分布式集群搭建库 2.HDFS完全分布式集群搭建配置 HDFS ...

  7. CockroachDB集群搭建和配置

    CockroachDB集群搭建和配置 下载 上crdb官网https://www.cockroachlabs.com/docs/releases/v2.0.5.html 找二进制包 Productio ...

  8. mac下ElasticSearch 集群搭建,使用Kibana配置和管理集群

    Elasticsearch如果做集群的话Master节点至少三台服务器或者三个Master实例加入相同集群,三个Master节点最多只能故障一台Master节点,如果故障两个Master节点,Elas ...

  9. Elasticsearch集群搭建、优化及实践

    文章目录 一.Elasticsearch集群 1.Elasticsearch集群概念 2.Elasticsearch集群安装 3.安装Kibana 4.测试集群状态 二.Elasticsearch优化 ...

最新文章

  1. ATL::CStringA和std::string之间转换的一些误区
  2. 信号量的实现和应用实验报告_Java高级编程基础:原子信号量操作实现组线程执行管理...
  3. (十)HTML5本地存储——SQLLite实现web留言本
  4. pthread_once()函数详解
  5. ubus c语言例子,openwrt之ubus例子
  6. 米家对讲机_对前面两代产品不断总结和完善的产物,米家对讲机2代开箱体验...
  7. Java 答疑:编译器和解释器有何区别?Java 语言属于编译型编程语言还是解释型编程语言?
  8. linux设备驱动编写基础
  9. 上汽集团:R汽车改名飞凡汽车
  10. 在razor视图引擎中转义@字符
  11. 经典解读 | Cascade R-CNN详细解读
  12. CMM (集成软件管理(Integrated Software Management)
  13. STM8S——watchdog(IWDG)
  14. 科技感海报大合集,分分钟做出高端海报
  15. 分辨率PPI与DPI(转)
  16. cpi 计算机体系结构 转移指令,计算机体系结构题目.ppt
  17. 纯 CSS3 实现漂亮的 input 输入框
  18. 学计算机颈椎,电脑对我们的颈椎有多大危害?
  19. 【案例】某省行政执法综合管理,实现互联互通、信息共享、业务协同、智能便捷
  20. 学习嵌入式开发要掌握的几个重要手册

热门文章

  1. lambda实现对Python二维数组的快速排序
  2. 【java】替换空格
  3. linux添加静态路由生效,linux常识:添加静态路由
  4. 图形引擎实战:手游Android端后台下载技术分享
  5. 关于使用腾讯云腾讯(即时通讯SDK)遇到的问题
  6. docker-compose启动redis设置密码失效
  7. 微信小程序swiper图片尺寸_微信小程序 swiper 轮播图 高度自适应
  8. 使用poi解析excel 返回对象
  9. 终于大橘已定,分享一波面经(美团、小米、华为、阿里等)
  10. (一)app自动化测试环境搭建(mac+ios+airtest )