首页 / Elasticsearch / 正文

Elasticsearch笔记整理

1557 发布于: 2021-01-28 读完约需9分钟

本文对 Elasticsearch 7.10 适用

Elasticsearch单机集群重启的正确方式和步骤

Elasticsearch单机版集群有多节点的情况下,如果需要重启这台计算机,则要使用正确的步骤,否则会造成Elasticsearch集群不可用(集群不能正常重新启动),或者节点数据混乱。

方式一

1.禁用 shard 分配

2.将所有数据落盘

3.关机
4.开机
5.检查是否所有节点就绪了

6.启用 shard 分配

方式二

1.所有 master 机器配置 recover 策略,示例如下

2.临时禁用 shard 分配(重启后自动失效)

3.将所有数据落盘

4.关机
5.开机

Elasticsearch+Logstash同步SQL Server数据的配置

配置参数

Logstash多个配置文件(conf)

Logstash:多个配置文件(conf)

对于多个配置的处理方法,有多个处理方法:

一个pipeline含有一个逻辑的数据流,它从input接收数据,并把它们传入到队列里,经过worker的处理,最后输出到output。这个output可以是Elasticsearch或其它。下面针对这两种情况,来分别进行描述。

多个pipeline

接下来,修改pipelines.yml文件。在logstash的安装目录下的config文件目录下,修改pipelines.yml文件。

在上面的配置中,把daily.conf和apache.conf分别置于两个不同的pipleline中。

这样操作配置已经完成了。进入到longstash的安装目录。我们通过如下的命令来运行:

在terminal中,可以看到有两个piple在同时运行,也可以在Kibana中看到我们的index结果。

一个pipeline

同样可以修改位于Logstash安装目录下的config子目录里的pipleline.yml文件,并把它修改为:

把所有位于/Users/liuxg/data/multi-pipeline/下的所有的conf文件都放于一个pipeline里。

按照上面同样的方法来运行我们的应用:

从运行的结果中看到了两个同样的输出。这是为什么呢?这是因为我们把两个.conf文件放于一个pipleline里运行,那么我们有两个stdout的输出分别位于两个.conf文件了。

在Kibana里可以看到我们的最终的index数据:

我们可以看到在apache_log里有20条数据,它包括两个log文件里所有的事件,这是因为它们都是一个pipleline。同样我们可以在apache_daily看到同样的20条数据。

Elasticsearch 7.10.2集群安全配置,即X-Pack TLS加密通信配置

进入主节点目录,如:/elasticsearch-7.10.2

1、为集群创建认证机构

文件根目录下执行bin/elasticsearch-certutil ca

依次输入回车(文件使用默认名),密码

2、为节点颁发证书

之后执行 bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)

已上两步会分别在Elasticsearch安装目录下生成[elastic-certificates.p12]、[elastic-stack-ca.p12]这两个证书文件。现将这两个证书文件复制到Elasticsearch的配置文件夹中,如:/elasticsearch-7.10.2/config/

接着,执行 bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

并输入第一步输入的密码

执行 bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

并输入第一步输入的密码

3、多节点配置

将生成的[elastic-certificates.p12]、[elastic-stack-ca.p12]并连同[elasticsearch.keystore]文件复制到Elasticsearch其他节点的安装目录中config配置文件夹下,如:/elasticsearch-7.10.2-node02/config/

4、修改配置

在主节点elasticsearch-7.10.2/config/elasticsearch.yml中增加如下配置,启用x-pack安全组件,启用ssl加密通信,并且配置认证证书:

注:请将xpack.security.transport.ssl.keystore.pathxpack.security.transport.ssl.truststore.path的路径修改为你对应Elasticsearch节点对应的证书文件路径。

配置修改完成后,重启主节点Elasticsearch服务,重启成功后访问:http://192.168.1.100:9200/ 服务,提示需要输入用户名和密码。这时我们需要设置Elasticsearch的密码。

5、 密码设置

通过设置访问密码,这是elastic用户和其他一些系统内置用户的密码,在主节点根目录下执行bin/elasticsearch-setup-passwords interactive,按提示分别为每个Elasticsearch内置账户设置密码即可。

设置成功后,可以通过用户名密码访问es服务:http://192.168.118.51:900/ 访问Es服务,输入配置的用户名和密码。返回类似如下结果即表示密码设置成功:

5、 配置kibana访问密码

你可以在kibana.yml配置文件里面配置es访问的用户密码明文(但生产环境中不建议这样做,非常不安全),安全的做法是通过keystore配置加密的用户名密码信息,具体如下:

  1. 进入kibana的安装程序的bin目录: cd /kibana-7.10.2/bin
  2. 创建keystore:./kibana-keystore create
  3. 设置kibana访问es的用户名: ./kibana-keystore add elasticsearch.username
  4. 设置kibana访问es的密码: ./kibana-keystore add elasticsearch.password

使用Docker Compose安装Elasticsearch(7.11.0)+Kibana的运行环境

docker-compose.yml

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: .NET 5/.NET Core中使用EPPlus导出自定义列标题、忽略列、列排序的静态扩展方法

下一篇: Ubuntu操作系统笔记

本文永久链接码友网 » Elasticsearch笔记整理

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册