Elasticsearch的一些常用设置以及插件的安装和卸载

网络设置

使用标准的Elasticsearch配置config/elasticsearch.yml文件,您的节点被配置为在机器所有的接口上绑定,并将发现广播事件发送到discovery.zen.ping.unicast.hosts中列出的节点。 这意味着它会以单播列表的形式向机器发送信号,并等待响应。
如果一个节点响应它,他们可以加入一个集群。如果其他的节点在相同的LAN中,他们也可以加入集群中。
需要注意的是:

只有当节点的Elasticsearch的版本和cluster.name和集群的版本和名称都一致的时候,才可以加入集群

其他设置

  • cluster.name选项用来设置集群名
  • node.name用来给节点进行命名
  • network.host 定义要在绑定节点时使用的机器的IP。 如果您的服务器位于不同的LAN上,或者您只想限制仅在LAN上的绑定,则必须使用服务器IP设置此值
  • discovery.zen.ping.unicast.hosts允许您定义用于发现其他节点加入群集的主机列表(具有端口或端口范围)。此设置允许在不允许广播的LAN中使用节点,或者自动发现不工作(即包过滤路由器)。引用端口是传输端口,通常为9300.主机列表的地址可以是:
    • 主机名,即myhost1
    • IP地址,即192.168.1.2
    • IP地址或主机名与端口,即myhost1:9300,192.168.168.1.2:9300
    • 具有一系列端口的IP地址或主机名,即myhost1:[9300-9400],192.168.168.1:[9300-9400]

    在Elasticsearch 5.x之前,默认的网络配置是使用广播进行自动发现:在5.x或更高版本中已弃用和删除此行为,因为它在集群管理期间会产生大量问题,并且在云部署中不起作用,因为一般在企业网络中由于广播协议的阻碍。

  • path.conf定义了Elasticsearch配置文件所在的位置,一般这个路径下面有:elasticsearch.yml和logging.yml文件

  • path.data它允许我们定义一个或多个目录(在不同的磁盘中),您可以在其中存储索引数据。 当您定义多个目录时,它们将被管理为一个RAID 0,有利于具有最多可用空间的位置
  • path.work是Elasticsearch存储临时文件的位置
  • path.log是存储日志文件的位置,具体日志的记录配置是在logging.yml文件中
  • path.plugins容许你指定插件的位置,默认的插件位置是在$ES_HOME/config

Elasticsearch的节点类型

Elasticsearch容许定义不同的节点类型来平衡并且提升总体性能。

node.master node.data 描述
true true 默认节点,可以为master,也可以存储数据
false true 节点永远不会成为master,只能保存数据,这种集群的主力
true false 该节点仅用作主节点:不存储任何数据并具有可用资源。 这将是您的集群的协调员
false false 也成为client node,该节点用作搜索负载平衡器(从节点获取数据,聚合结果等)相当于给集群加内存

client node

client node是一个特殊的节点,用作集群的代理/通配。 其主要优点是:
它可以轻松的被kill或者移出集群,而不会产生什么影响,因为它不是master,也不存储数据。有时,用户执行太大的聚合(即,日期直方图的范围为几年,间隔为10秒),Elasticsearch节点可能会崩溃。 而client node不是主机,并且其过载不会给集群稳定带来问题。如果客户端节点嵌入在应用程序中,则数据的往返次数将会减少,并加快应用程序的速度。您可以添加它们以平衡搜索和聚合吞吐量,而不需要在群集中进行数据迁移。

ingestion node

默认的Elasticsearch配置会把节点当作ingest node,如果你不想这种设置的话,可以修改配置文件为:

node.ingest: false

一般情况下建议在master node和data node上面禁用它,以防止出现问题并保护集群。 而client node是最好的候选者。
如果您使用NLP,附件提取(通过附件摄取插件)或日志摄取,最佳做法是在摄入活动时拥有一个client node的池子,并且设置node.ingest: true(无主数据,无数据)。以前版本的Elasticsearch中的附件插件和NLP可在标准数据节点或主节点中使用。 但是由于以下原因,他们给弹性搜索带来了很多问题:使用NLP算法的高CPU使用率使数据节点上的所有CPU饱和,导致错误的索引和搜索性能由于附件格式不正确和/或Tika(用于管理文档提取的库)错误导致的不稳定性

Elasticsearch 插件的安装和卸载

bin/elasticsearch-plugin install lang-python
bin/elasticsearch-plugin install http://mywoderfulserve.com/plugins/awesome-plugin.zip

手动安装的话:

  • 下载插件的zip文件到Elasticsearch的插件目录下面,如果plugins目录不存在,那就创建它
  • 解压zip文件,然后删除zip文件

Elasticsearch的配置项中有一个选项:plugin.mandatory,他可以设置只有当某个插件已经安装并且可用的情况下,节点才可以启动。比如:

plugin.mandatory: python

这个配置就要求必须安装了python插件并且可用,那么Elasticsearch节点才能启动
安装插件时也有一些提示要记住。更新某些插件可能会导致不同插件版本在不同节点的故障。 如果您有一个大集群,最好在单独的环境中检查更新以防止出现问题。
为了防止更新Elasticsearch版本服务器也可能由于一些内部API更改而破坏您的自定义二进制插件,在Elasticsearch 5.x中,插件需要在其清单中具有相同版本的Elasticsearch服务器。
如果想移除插件,执行下面的命令:

elasticsearch-plugin remove lang-python

然后重启Elasticsearch server

本文版权归作者所有,禁止一切形式的转载,复制等操作
赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注