Elasticsearch学习笔记 - 02: 安装和简单配置

参考文档https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html

Set up ElasticSearch 部分

Installing Elasticsearch 章节

Download&Running

选择下载zip文件

文件下载到当前目录

开启 ES

具体操作

cd ~/Download
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
cd elasticsearch
./bin/elasticsearch

开启之后使用另一个终端发起请求

curl -X GET "localhost:9200/"

返回节点相关信息

如果需要启动为后台服务,参数为-d

-p 保存 pid 到文件 ‘pid’

./bin/elasticsearch -d -p pid

在前台模式下想要停止只需要 ctrl+c 或者 control+c 就可以

但是在后台模式下想要关闭需要在终端输入

kill -9 `cat pid`

 

$ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d #将当前程序的pid保存为文件后,后台启动ES服务
$ cat /tmp/elasticsearch-pid && echo #显示文件中保存的pid
15516
$ kill -SIGTERM 15516 #结束pid为15516的进程

也可以在启动时添加参数 设置集群(cluster)名称 ,设置节点(node)名称,不添加参数即为默认

./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

Elasticsearch 的具体配置

Elasticsearch 有三个配置文件:

  • elasticsearch.yml 用于配置 Elasticsearch
  • jvm.options 用于配置 Elasticsearch JVM 设置
  • log4j2.properties 用于配置 Elasticsearch日志记录

这些文件位于 config目录中

配置 JVM 参数

Elasticsearch 是基于 Java 开发的所以需要对应用的 JVM 参数进行优化配置,以达到最好的性能

Secure setting

某些设置是敏感的,依靠文件系统权限来保护其值是不够的。对于此用例,Elasticsearch 提供了一个密钥库和 elasticsearch-keystore 管理密钥库中设置的工具

bin/elasticsearch-keystore create #创建一个keystore
bin/elasticsearch-keystore list #列出所有的key
bin/elasticsearch-keystore add the.setting.name.to.set #添加一个key
bin/elasticsearch-keystore remove the.setting.name.to.remove #删除一个key

在 keystone 中添加后,可以通过变量的方式调用,通常情况下,这些设置都会在重启节点的情况下生效

虽然启动 Elasticsearch 只需要很少的配置(默认配置),但在投入生产之前需要考虑许多设置。

ES配置

Path setting

路径设置

将数据和日志保存在服务器其他位置,这样即使在升级ES版本的情况下也能保持数据和日志不被更改

Cluster name

集群名称

如果不设置,默认值为elasticsearch,只有cluster.name相同的节点才会被聚合为一个集群

Node name

节点名称

默认使用随机生成的uuid前七个字符,重启ES不会更改

Network host

网络主机

对外提供服务的IP地址,默认为localhost,一旦配置即认为进入生产环境

Discovery setting

集群节点发现机制的设置

发现部署在其他服务器上的集群节点

discovery.zen.ping.unicast.hosts

为避免分裂大脑,应将此设置设置为符合条件的主节点的法定数量:(master_eligible_nodes / 2)+ 

Heap size

JVM堆内存的配置

ES要求堆内存最小和最大空间设置要相等

Heap dump path

堆转储路径

默认/var/lib/elasticsearch

GC logging

垃圾回收日志

默认启用

Temp directory

临时目录

某些Linux下会自动定时清理/tmp,所以尽量为ES设置单独的临时目录

系统配置

Disable swapping

禁用交换分区

swap影响性能、节点稳定性

Increase file descriptor

增加文件描述符

用尽文件描述符有可能导致数据丢失

Ensure sufficient threads

确保足够的线程数

至少为4096

JVM DNS cache setting

JVM DNS 缓存设置

 

Temporary directory not mounted with noexec

临时目录未挂载noexec

 

 


Bootstrap 检查

启动 ES 的时候会进行 Bootstrap 检查,一旦配置了 network.host,ES 就会认为进入生产模式,并将警告升级为异常,ES 将不会启动,在开发模式下如果未配置会将警告写入日志文件,但 ES 依然会运行,

包括:

Heap size check

堆大小检查

如果以不等的初始和最大堆大小启动JVM,则在系统使用期间调整JVM堆的大小时,它可能会暂停。要避免这些调整大小暂停,最好以初始堆大小等于最大堆大小来启动JVM

File descriptor check

文件描述符检查

 

Memory lock check

内存锁检查

请求JVM通过mlockall将堆锁定在内存中

Maximum number of threads check

最大线程数检查

检查的最大线程数确保Elasticsearch进程有权在正常使用下创建足够的线程

 Maximum file size check

最大文件大小检查

Elasticsearch应具有无限的地址空间

Maximum number of threads check

最大内存映射数检查

为了mmap有效使用,Elasticsearch还需要能够创建许多内存映射区域,检查内核是否允许进程至少具有262,144个内存映射区域

Client JVM check

JVM客户端检查

 

Use serial collector check

使用串行收集器检查

串行收集器检查可确保Elasticsearch未配置为与串行收集器一起运行

OnError and OnOutOfMemoryError checks

致命错误检查

 

Early-access check

早期版本检查

类似内侧(Beta)

G1GC check

 

早期版本JDK中组件可能导致索引损坏

All permission check

所有权限检查

相当于禁用安全管理

设置X-Pack

X-Pack 是一种 Elastic Stack 扩展,可提供安全性,警报,监控,报告,机器学习和许多其他功能

安装X-Pack 默认情况下安装 elasticsearch 同时会安装 X-Pack

配置监控 配置集群以收集监视数据 确定存储监控数据的位置 添加可信的CA证书 配置集群将数据发送到监视集群 注意更新集群设置后重启 ES 生效

配置安全性   用来保护集群 对数据进行密码保护 实施更高级的安全措施,如加密通信,基于角色的访问控制,IP过滤和审核

配置X-Pack Java客户端

X-Pack设置  许可证管理 机器学习(默认开启)  SQL Access(默认开启)

Bootstrap检查X-Pack 加密敏感数据检查 公钥基础结构检查  角色映射检查 SSL/TLS检查(高级许可证) 令牌环检查

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值