Elasticsearch集群和账号密码设置

这篇具有很好参考价值的文章主要介绍了Elasticsearch集群和账号密码设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境

  • ubuntu 20.04
  • elasticsearch 8.0
  • 服务器IP:192.168.1.63
  • 目录elastic-master是主节点,目录elastic-node2 是从节点
  • 系统需要新建一个用户来专门启动es,因为es不能使用root用户启动
  • 一台服务器上装多个es来配置集群(多台也是一样的配置)

elasticsearch下载地址

  • 下载地址

不设置用户名密码和https的启动步骤

  • 解压刚刚下载的es,解压后我就暂时放在elastic-master吧

    tar -zxvf xxxx
    
  • 如果不配置集群,那直接就可以启动使用了

    #前台启动
    elastic-master/bin/elasticsearch
    #后台启动
    elastic-master/bin/elasticsearch -d
    
  • 进入到主节点elastic-master/config,找到elasticsearch.yml文件,这个文件就是配置文件,将文件改为:

network.host: 0.0.0.0

http.port: 9200
#内部各节点通信端口
transport.port: 9301


#
#集群名,各个节点集群名保证一样,但是节点名不能一样
cluster.name: es-cluster
#节点名
node.name: node-1
#模式启动的时候推选哪个节点来做主几点,可以是IP,也可以是节点名
#cluster.initial_master_nodes: ["node-1","node-2"]
cluster.initial_master_nodes: ["192.168.1.63:9301"]

#discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302","192.168.1.63:9303","192.168.1.59:9304"]
#节点发现,就是集群中的各个节点
discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302"]

#这一块主要是设置,是否允许跨域,是否启用https安全访问等。
#不设置密码
xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false
xpack.security.http.ssl.enabled: false
http.cors.enabled: true
http.cors.allow-origin: "*"
  • 重新解压一份es的源码出来作为从节点,就是刚刚下载的压缩包,目录是elastic-node2
  • 进入到从节点elastic-node2/config,找到elasticsearch.yml文件,这个文件就是配置文件,将文件改为,其实这里不同地方就是节点名和取消设置选主节点的配置:cluster.initial_master_nodes和node.name,端口是因为我同一台服务器,所以需要设置成不同的
network.host: 0.0.0.0

http.port: 9201
transport.port: 9302

cluster.name: es-cluster
node.name: node-2
#cluster.initial_master_nodes: ["192.168.1.63:9302"]

discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9301","192.168.1.63:9302"]


#不设置密码
xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false
xpack.security.http.ssl.enabled: false
http.cors.enabled: true
http.cors.allow-origin: "*"

  • 现在启动两个节点,然后浏览器访问http://192.168.1.63:9200或者http://192.168.1.63:9201就可以看到是否成功了
    #启动主节点
    elastic-master/bin/elasticsearch
    #启动从节点
    elastic-node2/bin/elasticsearch
    
  • 如果无法启动或者无法连接到集群,尝试删除掉elastic-master/data目录和elastic-node2/data。特别注意,这个文件删除了,那所有的数据都没有了,慎重。。。。一般来说,主节点如果有数据,不要删除主节点的,先删除从节点的试试

设置用户名密码和https的启动步骤

  • 一般来说,为了安全会设置用户名和https访问

  • 通过bin/elasticsearch-certutil ca生成elastic-stack-ca.p12

    elastic-master/bin/elasticsearch-certutil ca
    

    1.出现提示时,接受默认文件名,即 elastic-stack-ca.p12。此文件包含 CA 的公共证书和用于为每个节点签署证书的私钥。
    2…输入 CA 的密码。如果不部署到生产环境,您可以选择将密码留空,这里我随便个密码123123,后面要用到。

  • 生成elastic-stack-ca.p12

    elastic-master/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    

    1.会弹出三次提示,分别是输入密码,输出文件,输入密码,第一次密码是输入上一步设置的密码,也是123123,输出文件可以直接回车,默认就行。最后一次叫输入密码,什么都不要输入,直接回车就行,否则启动的时候会报错输入刚刚的密码,最后生成elastic-stack-ca.p12密码不要写,直接回车 不然会报错xpack Caused by: java.io.IOException: keystore password was incorrect
    2.生成的证书文件在elastic-master目录下,需要给文件权限和移动到elastic-master/config目录下

    chmod 777 elastic-master/elastic-stack-ca.p12
    chmod 777 elastic-master/elastic-certificates.p12
    mv elastic-master/elastic-stack-ca.p12 elastic-master/config
    mv elastic-master/elastic-certificates.p12 elastic-master/config
    
  • 创建keystore

    bin/elasticsearch-keystore create
    
  • 更改主节点配置文件elasticsearch.yml



network.host: 0.0.0.0

http.port: 9200
transport.port: 9301


cluster.name: es-cluster
node.name: node-1
cluster.initial_master_nodes: ["192.168.1.63:9301"]
cluster.auto_shrink_voting_configuration: false
#discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302","192.168.1.63:9303","192.168.1.59:9304"]
discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302","192.168.1.63:9303","192.168.1.59:9304"]





xpack.license.self_generated.type: basic
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
#开启密码认证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /home/xway-rd/elastic-master/config/elastic-certificates.p12

#配置https的,如果启动不了,可以先注释下面的配置,启动成功后,设置完密码后再打开这些配置重新启动
xpack.security.transport.ssl.truststore.path: /home/xway-rd/elastic-master/config/elastic-certificates.p12
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /home/xway-rd/elastic-master/config/elastic-certificates.p12
xpack.security.http.ssl.truststore.path: /home/xway-rd/elastic-master/config/elastic-certificates.p12
  • 先将刚刚生成的证书文件发送复制到从节点的config目录下,elastic-node2/config目录下
  • 再更改从节点配置文件elasticsearch.yml

network.host: 0.0.0.0

http.port: 9201
transport.port: 9302


cluster.name: es-cluster
node.name: node-2
#cluster.initial_master_nodes: ["192.168.1.63:9302"]

discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302","192.168.1.63:9303"]



#设置密码
xpack.license.self_generated.type: basic
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /home/xway-rd/elastic-node2/config/elastic-certificates.p12



#配置https的,如果启动不了,可以先注释下面的配置,启动成功后,设置完密码后再打开这些配置重新启动
xpack.security.transport.ssl.truststore.path: /home/xway-rd/elastic-node2/config/elastic-certificates.p12
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /home/xway-rd/elastic-node2/config/elastic-certificates.p12
xpack.security.http.ssl.truststore.path: /home/xway-rd/elastic-node2/config/elastic-certificates.p12
  • 启动主节点和从节点,这个时候可能会报错,提示的大概是证书或者密码错误这些,如果没报错就算完成了,直接访问https://192.168.1.63:9200,如果提示证书不安全,忽略就行,然后就会提示叫输入账号密码。

  • 启动成功的情况,启动成功了但是还没有设置密码,所以登录不进去,先设置密码。会要求设置很多用户的密码,耐心点,我们记住一个elastic用户的密码就行

    elastic-master/bin/elasticsearch-setup-passwords interactive
    
  • 如果启动失败,那可能需要按下面操作一波
    1.先更改主节点的配置文件elasticsearch.yml



network.host: 0.0.0.0

http.port: 9200
transport.port: 9301


cluster.name: es-cluster
node.name: node-1
cluster.initial_master_nodes: ["192.168.1.63:9301"]
cluster.auto_shrink_voting_configuration: false
#discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302","192.168.1.63:9303","192.168.1.59:9304"]
discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302"]




#设置密码
xpack.license.self_generated.type: basic
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true


xpack.security.transport.ssl.keystore.path: /home/xway-rd/elasticsearch-8.0.0/config/elastic-certificates.p12


xpack.security.transport.ssl.verification_mode: certificate

2.更改从节点配置elasticsearch.yml


network.host: 0.0.0.0

http.port: 9201
transport.port: 9302


cluster.name: es-cluster
node.name: node-2
#cluster.initial_master_nodes: ["192.168.1.63:9302"]

discovery.seed_hosts: ["192.168.1.63:9301","192.168.1.63:9302","192.168.1.63:9303"]



#设置密码
xpack.license.self_generated.type: basic
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.keystore.path: /home/xway-rd/elastic-node2/config/elastic-certificates.p12
xpack.security.transport.ssl.verification_mode: certificate

3.在重新启动,启动成功后,再设置密码,再用之前的配置文件启动https。

说明

  • 所有节点共用同一份证书,用户密码也是共有的。因为我是在同一台服务部署多个es,我不知道在多台服务器上部署会不会出现用户名密码不对。如果有,就在各个子节点都执行设置密码的命令

补充

如果后面又要加一台节点进来,安装好后就把主节点的证书复制过来就行了,改改配置文件就行了,然后登录账号密码是复用主节点的账号密码,复制的证书文件有:config/certs/elastic-certificates.p12 ,config/certs/elastic-stack-ca.p12,config/elasticsearch.keystore文章来源地址https://www.toymoban.com/news/detail-785006.html

到了这里,关于Elasticsearch集群和账号密码设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ES常见问题(2)-ElasticSearch怎么样设置账号密码

    有时候我们也需要给ES设置账号密码,避免别人使用自己的ES操作,以保证自己的ES的数据安全 ES版本 我用的是Elasticsearch 示例版本:7. 8.0 ES自带的X-Pack密码验证 在ES版本7.0之后,默认的情况下,安装了ES,都会默认下载了 X-Pack , 不再需要自己独自下载, X-Pack是elasticsearch的一

    2023年04月17日
    浏览(46)
  • Elasticsearch7.7设置账号密码时的逻辑矛盾问题

            2019年1月30日,外媒又报道了一起Elasticsearch数据泄露事件!2019年1月份的至少有6起Elasticsearch数据泄露事件了。原因何在,很简单,开发者在服务启动之后总是懒得去修改,哪怕是添加个密码,不信?你去看看你们公司的REDIS服务器,看看有多少设置了密码,至少我

    2024年02月11日
    浏览(60)
  • k8s集群部署elasticsearch集群和elasticsearch集群设置用户密码

    目录 一、背景: 二、部署elasticsearch集群: 1、部署elasticsearch集群: 2、验证elasticsearch集群是否正常:  三、部署elasticsearch集群并设置用户密码 1、生产elastic集群所需的证书: 2、重新建构elasticsearch镜像: 3、部署elasticsearch集群: 4、设置elasticsearch集群的密码: 5、测试验证

    2024年04月13日
    浏览(40)
  • elasticsearch|大数据|elasticsearch低版本集群的部署安装和安全增强---密码设置问题

    elasticsearch的高低版本划分标准为6.3,该版本之前的为低版本,6.3版本之后的包括6.3为高版本,这么划分主要是在安全性方面也就是x-pack插件的使用部署方面,低版本需要手动安装该安全插件,而高版本无需安装。另一方面,高版本的es漏洞会少一些,而本例中使用的是低版本

    2024年02月03日
    浏览(54)
  • elasticsearch6.8.23集群安装和设置密码

    一、下载安装包 下载地址: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.23.tar.gz  二、安装步骤 1、准备三台机器,192.168.1.1、192.168.1.2、192.168.1.3 2、上传elasticsearch-6.8.23.tar.gz到三台机器的 /usr/local,然后都执行下面的命令 3、验证是否安装成功: curl 192.168.1.1:9200 浏

    2024年02月05日
    浏览(39)
  • ES集群重新设置密码(第二次执行.elasticsearch-setup-passwords interactive报错)

    错误信息 当为es集群设置完一次密码之后,再次执行相同的命令 报错: 解决办法: 删除 .security-7 索引,然后重新执行上面命令即可,不用重启es集群

    2024年02月11日
    浏览(40)
  • ElasticSearch:下载、启动和账号密码登录

    因为我的电脑是 window,以下都是以 window 环境举例。 一、下载 Elasticsearch 是使用 java 开发的,且 7.8 版本的 ES 需要 JDK 版本 1.8 以上,安装前注意java环境的准备。 官网地址:https://www.elastic.co/cn/ 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 下载后解压即用,目

    2024年04月22日
    浏览(32)
  • ElasticSearch 8.x 账号密码;9200端口登录。

    安装elasticsearch之后输入http://localhost:9200/弹出登录框,一下子懵了,压根不知道还有什么账号密码,下意识输入了电脑的用户和密码,当然是失败了,后面就是各种上网搜索,最终被我解决了。解决方法如下图:  在你的elasticsearch包的bin目录下cmd,输入以下命令: 接着就会在

    2024年02月11日
    浏览(50)
  • Elasticsearch密码配置(包括集群与单节点)

    1,修改配置文件 在配置文件中添加如下参数: 2, 重启es服务 关闭es服务如果服务启动(kill进程id) 启动es服务 3,执行修改密码命令 待服务启动完成,且能正常访问后,执行 注意在普通用户下执行,即es用户 执行命令后会提示让输入密码,挨个输入回车即可 若执行提示(

    2024年02月02日
    浏览(39)
  • elasticsearch7.7集群部署以及密码认证

    1.1 elasticsearch 部署 1.1.1 安装jdk 略 1.1.2 安装准备 1、安装用户用elastic用户 2、创建相关目录及授权 [root@es-node1 ~]# chown -R elastic: elastic/data [root@es-node1 ~]# chmod -R 775 /data 3、root用户编辑 /etc/security/limits.conf,追加以下内容; soft nofile 65536 hard nofile 65536 soft nproc 2048 hard nproc 4096 4、

    2024年02月03日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包