• ElasticSearch ES 安装 常见错误 Kibana安装 设置 权限 密码


    最近在学习ES数据库,所以将一些东西记录一下。

    以下所有的都是基于es7.8.0版本进行的

    下载安装ES数据库

    安装本体

    下载地址 :

    linux

    mac os

    windows

    es的安装非常简单,基本都是解压然后运行就行了。这里我们就以linux版本为例子

    # 新建一个文件夹
    mkdir elasticSearch
    # 进入文件夹
    cd elasticSearch/
    # 下载安装包
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
    # 解压安装包
    gzip -d elasticsearch-7.8.0-linux-x86_64.tar.gz
    tar -vxf elasticsearch-7.8.0-linux-x86_64.tar
    # 进入解压后的目录
    cd elasticsearch-7.8.0
    # 添加跨域
    vim config/elasticsearch.yml 
    # 将以下两段话插入文档最底下
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    # 因为linux下不支持root用户启动所以我们要创建一个es用户
    # window和mac不需要此步骤可以直接启动数据库
    # 创建linux的es用户
    adduser es
    # 设置密码 输入两次密码
    passwd es
    # 给es用户赋予权限 后面的是es安装的目录
    chown es /usr/local/elasticSearch/ -R
    # 切换到es用户
    su es
    # 启动es数据库
    cd bin/
    ./elasticsearch -d
    # 启动访问本地的9200端口查看是否启动成功
    # 出现如所示则启动成功
    curl http://127.0.0.1:9200
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    image-20211213134106467

    安装IK分词器

    IK分词器是专门进行中文分词的插件

    安装过程如下

    下载插件下载地址

    将插件解压之后放入elasticSearch目录的plugins文件夹中

    image-20211213134922635

    然后重启ElasticSearch即可

    可以看到启动日志中显示已经加载了IK分词器

    image-20211213134852300

    下载安装Kibana

    Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

    下面我们就安装下kibana

    下载地址

    windows

    mac os

    linux

    # 下载kibana
    wget https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz
    # 解压kibana
    tar -xvf kibana-7.8.0-linux-x86_64
    # 进入config文件夹设置kibana.yml文件
    server.port: 5601
    server.host: "localhost"
    server.basePath: "/kibana"
    server.name: "kibana"
    elasticsearch.hosts: ["http://localhost:9200"]
    # 启动kibana
    cd kibana-7.8.0-linux-x86_64/bin/
    ./kibana
    # 后台启动
    nohup ./kibana &
    # 访问本地 5601接口即可
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    设置kibana密码

    首先需要设置ES权限验证,可以参考下文设置ElasticsSearch访问权限(密码)

    1、 修改kibana安装文件下的config的kibana.yml文件,打开

    #elasticsearch.username: "kibana_system"
    #elasticsearch.password: "pass"
    #修改成
    elasticsearch.username: "kibana"
    # abcd1234 = es密码
    elasticsearch.password: "abcd1234"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    修改前

    image-20211213141815606

    修改后

    image-20211213141758382

    保存启动即可。

    启动之后输入

    用户名:elastic

    密 码:自己设置的

    image-20211213142442273

    点击设置的用户可创建一个新的用户

    image-20211213142615317

    image-20211213142647807

    image-20211213142721456

    设置ElasticsSearch访问权限(密码)

    由于上线需要设置用户名和密码,发现ES7.7以后的版本将安全认证功能免费开放了。并将X-pack插件集成了到了开源的ElasticSearch版本中。下面将图文介绍如何利用X-pack给ElasticSearch相关组件设置用户名和密码。

    1、进入ES的安装目录config下的elasticsearch.yml文件在最后一行添加xpack.security.enabled: true=开启密码验证

    image-20211213135800069

    image-20211213135820890

    2、重启了Es数据库。只有重启之后才可以设置用户名和密码、

    # 启动ES
    ./elasticsearch -d
    # 设置用户名密码
    ./elasticsearch-setup-passwords interactive
    # 为ES很多预设的用户设置密码,如果记不住最好都设为一样。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    image-20211213140350924

    4.到此已经完成ES及相关组件的加密了,后续访问和使用相关组件都需要验证用户名和密码了。

    使用curl会报错

    image-20211213140505418

    使用curl localhost:9200 -u elastic:{password}如下方式访问则正常:

    image-20211213140559509

    如果你觉得之前用户的密码设置的太简单了,你想修改密码可以采用如下方式:

    curl -XPOST -u elastic "localhost:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "abcd1234"}'
    
    • 1

    image-20211213140936208

    这种方式修改密码需要注意的是:(1)之前设置过elastic的用户密码;(2)还记的用户elastic用户的密码。

    如果忘记之前elastic用户的密码,这个时候又要用到ES的加密功能,那需要重置ES的密码认证;详细步骤如下:

    • 修改config/elasticsearch.yml;注释掉 xpack.security.enabled: true这一行;
    • 重启ES,查看下索引,发现多了一个.security-7

    img

    • 删除掉.security-7索引:

    img

    • 到此就回到ES没有设置密码的阶段了

    ES常见启动错误

    错误一
    ERROR: [4] bootstrap checks failed
    [1]: max number of threads [1024] for user [es] is too low, increase to at least [4096]
    [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    [3]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
    [4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
    
    • 1
    • 2
    • 3
    • 4
    • 5

    image-20211213144312172

    解决办法

    1.切换至root用户

    su root
    
    • 1
    1. 修改limits.d目录下的配置文件,然后重启es即可

      vi /etc/security/limits.d/90-nproc.conf

    image-20211213144427110

    错误的修改的4096根据错误提示而定

    image-20211213144509842

    错误二
    ERROR: [3] bootstrap checks failed
    [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    [2]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
    [3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
    
    • 1
    • 2
    • 3
    • 4

    image-20211213144805252

    解决办法

    # 修改sysctl.conf文件
    vim /etc/sysctl.conf
    # 在文件最后添加
    vm.max_map_count=262144
    # 生效文件
    /sbin/sysctl -p 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    image-20211213144935779

    image-20211213145044215

    再次启动ES即可解决

    问题三

    ERROR: [2] bootstrap checks failed
    [1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
    [2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
    
    • 1
    • 2
    • 3

    解决办法

    打开elasticsSearch.yml文件添加

    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    
    • 1
    • 2

    重启ES即可

    问题四

    ERROR: [1] bootstrap checks failed
    [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
    
    • 1
    • 2

    解决办法

    打开elasticsSearch.yml打开

    cluster.name: my-application
    node.name: node-1
    # 打开并修改
    cluster.initial_master_nodes: ["node-1"]
    
    • 1
    • 2
    • 3
    • 4

    重启ES即可

  • 相关阅读:
    CentOS7安装配置Kafka3.2.0(含SpringBoot连接测试)
    博途PLC增量式PID(支持正反作用和归一化输出)
    zabbix的自动发现和自动注册
    高性能高精度Xcode计算22二进制16进制claimBilliard220902
    CONV1D卷积神经网络运算过程(举例:n行3列➡n行6列)
    【Bug】Data is Null. This method or property cannot be called on Null values.
    Dockerfile 简介
    ElasticSearch学习笔记-Vector向量搜索记录
    动态规划 拿小球简单版(爱思创)
    Windows内核--内核汇编代码赏析: Rtl memory系列函数(3.3.1)
  • 原文地址:https://blog.csdn.net/m0_67392661/article/details/126659287