linux elasticsearch安装以及设置安全权限账号跟密码

05-09 4256阅读 0评论

elasticsearch安装以及设置安全权限账号跟密码

1.下载安装

1.1 官网下载地址: https://www.elastic.co/cn/downloads/elasticsearch

  • 选择自己需要的版本下载,然后上传到Linux 也可以用Linux命令行,执行wget下载:
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz
    

    下载需要版本

    • 执行解压缩命令:

      tar -zxvf es安装

      1.2 解决es强依赖jdk问题

      由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行

      解决方案:

      // 修改启动文件

      vim es路径/bin/elasticsearch
      
      ############## 添加配置解决jdk版本问题 ##############
      # 将jdk修改为es中自带jdk的配置目录
      export JAVA_HOME=es路径/jdk
      export PATH=$JAVA_HOME/bin:$PATH
      if [ -x "$JAVA_HOME/bin/java" ]; then
              JAVA="es路径/jdk/bin/java"
      else
              JAVA=`which java`
      fi
      

      1.3 解决内存不足:

      服务器比较拉跨,内存不大,我的es默认分配 jvm空间大小为4g,服务器又拉跨,启动就报错内存不足T_T

      解决办法:

      vim es路径/config/jvm.options
      

      修改:

      默认配置如下:
      -Xms4g
      -Xmx4g
      默认的配置占用内存太多了,调小一些:
      -Xms256m
      -Xmx256m
      

      1.4 创建非root用户启动es

      root用户不能直接启动Elasticsearch,所以需要创建普通用户来启动:

      linux elasticsearch安装以及设置安全权限账号跟密码 第1张

      创建用户

      useradd user名称
      

      创建所属组

      chown user名称:用户组名称 -R es安装路径
      

      切换到user-es用户

      su user名称
      

      进入bin目录

      cd es安装路径/bin
      

      启动elasticsearch

      ./elasticsearch
      

      安装就讲到这,其他还有问题可以参考这篇文章,本文下载安装部分也是参考这篇文章写的

      文章地址 - 参考:

      https://blog.csdn.net/smilehappiness/article/details/118466378

      2.设置安全权限账号跟密码

      2.1修改es配置文件

      cd es安装路径/config
      vim ./elasticsearch.yml
      

      写入配置:xpack.security.enabled: true

      然后重启es(注:修改配置文件前先停止es服务)

      如果修改配置后未重启,添加密码会出现以下错误:

      linux elasticsearch安装以及设置安全权限账号跟密码 第2张

      会提示X-Pack安全性被禁用,因为上诉配置默认为false,没有更新配置添加密码就会报错

      正常情况这样配置重启后就可以正常添加密码了:

      设置密码:

      cd es安装路径/bin
      执行
      ./elasticsearch-setup-passwords interactive
      

      参数 interactive 官方注释

      linux elasticsearch安装以及设置安全权限账号跟密码 第3张

      执行完就是一下界面:

      linux elasticsearch安装以及设置安全权限账号跟密码 第4张

      执行完就设置好了

      2.2.修改密码

      curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'
      

      2.3 不正常情况

      我搞了两个服务器,一个正常安装好了,很快,另一个就不正常了,一步一个坑

      第一步,我正常修改启动文件,提示如下内容:

      linux elasticsearch安装以及设置安全权限账号跟密码 第5张

      需要我将 xpack.security.transport.ssl.enabled 这个配置设为true 默认false, 再次修改启动文件,添加如下配置:

      linux elasticsearch安装以及设置安全权限账号跟密码 第6张

      xpack.security.transport.ssl.enabled: true
      

      再次启动,再次报错:

      org.elasticsearch.ElasticsearchSecurityException: invalid SSL configuration for xpack.security.transport.ssl - server ssl configuration requires a key and certificate, but these have not been configured; you must set either [xpack.security.transport.ssl.keystore.path], or both [xpack.security.transport.ssl.key] and [xpack.security.transport.ssl.certificate]
      

      说我没有配密钥和证书,好吧确实没有,然后生成证书文件:

      生成elastic-certificates.p12文件

      es安装路径/bin/elasticsearch-certutil cert ca elastic-stack-ca.p12
      

      linux elasticsearch安装以及设置安全权限账号跟密码 第7张

      这里第二项是叫你输入密码,可以不输 我嫌麻烦没输,输了后面配置还要加东西,执行完就生成了:

      linux elasticsearch安装以及设置安全权限账号跟密码 第8张

      这个文件(注:这个文件一定要放到config文件夹下,不然他会读取不到,我就被这坑了)

      然后再次修改启动文件:

      添加:

      linux elasticsearch安装以及设置安全权限账号跟密码 第9张

      添加这些配置

      xpack.security.enabled: true
      xpack.security.http.ssl.enabled: true
      xpack.security.http.ssl.keystore.path:  es安装路径/config/elastic-certificates.p12
      xpack.security.http.ssl.truststore.path:  es安装路径/config/elastic-certificates.p12
      xpack.security.transport.ssl.enabled: true
      xpack.security.transport.ssl.verification_mode: certificate
      xpack.security.transport.ssl.keystore.path:  es安装路径/config/elastic-certificates.p12
      xpack.security.transport.ssl.truststore.path: es安装路径/config/elastic-certificates.p12
      

      另外一种刚才生成证书文件输了密码的:

      xpack.security.enabled: true
      xpack.security.http.ssl.enabled: true
      xpack.security.http.ssl.keystore.type: PKCS12
      xpack.security.http.ssl.keystore.password: 密码
      xpack.security.http.ssl.keystore.path: es安装路径/config/elastic-certificates.p12
      xpack.security.http.ssl.truststore.path:  es安装路径/config/elastic-certificates.p12
      xpack.security.transport.ssl.enabled: true
      xpack.security.transport.ssl.verification_mode: certificate
      xpack.security.transport.ssl.keystore.type: PKCS12
      xpack.security.transport.ssl.keystore.password: 密码
      xpack.security.transport.ssl.keystore.path: es安装路径/config/elastic-certificates.p12
      xpack.security.transport.ssl.truststore.type: PKCS12
      xpack.security.transport.ssl.truststore.password: 密码
      xpack.security.transport.ssl.truststore.path: es安装路径/config/elastic-certificates.p12
      

      添加完我又去启动,然后不出意外的又报错了:

      linux elasticsearch安装以及设置安全权限账号跟密码 第10张

      意思是建立ssl链接失败

      解决办法就是:

      修改启动文件:

      linux elasticsearch安装以及设置安全权限账号跟密码 第11张

      将这几行注释掉,我快人一步,这个应该添加完密码在打开

      注释掉之后正常了,然后就是设置密码,最后就好了

      到此处,本篇文章也就结束了,有错欢迎指出,我也是初学,瞎弄,一起进步…………


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,4256人围观)

还没有评论,来说两句吧...

目录[+]