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

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,所以需要创建普通用户来启动:
在这里插入图片描述
创建用户

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服务)
如果修改配置后未重启,添加密码会出现以下错误:
在这里插入图片描述

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

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

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

参数 interactive 官方注释

linux elasticsearch安装以及设置安全权限账号跟密码_第1张图片
执行完就是一下界面:
linux elasticsearch安装以及设置安全权限账号跟密码_第2张图片
执行完就设置好了

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 不正常情况
我搞了两个服务器,一个正常安装好了,很快,另一个就不正常了,一步一个坑
第一步,我正常修改启动文件,提示如下内容:
在这里插入图片描述
需要我将 xpack.security.transport.ssl.enabled 这个配置设为true 默认false, 再次修改启动文件,添加如下配置:
在这里插入图片描述

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

在这里插入图片描述
这里第二项是叫你输入密码,可以不输 我嫌麻烦没输,输了后面配置还要加东西,执行完就生成了:
在这里插入图片描述
这个文件(注:这个文件一定要放到config文件夹下,不然他会读取不到,我就被这坑了

然后再次修改启动文件:
添加:
linux elasticsearch安装以及设置安全权限账号跟密码_第3张图片
添加这些配置

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

添加完我又去启动,然后不出意外的又报错了:
在这里插入图片描述
意思是建立ssl链接失败
解决办法就是:
修改启动文件:
linux elasticsearch安装以及设置安全权限账号跟密码_第4张图片
将这几行注释掉,我快人一步,这个应该添加完密码在打开
注释掉之后正常了,然后就是设置密码,最后就好了

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

你可能感兴趣的:(elasticsearch,linux,安全)