[关闭]
@cdmonkey 2019-12-04T06:23:35.000000Z 字数 4081 阅读 733

Elasticsearch

运维工具


是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例。支持时间索引和全文检索。是开源搜索平台的新成员,实时数据分析的神器,发展迅猛,

它对外提供一系列基于JAVA和HTTP的API,用于索引、检索、修改大多数配置。

一、安装

三台服务器:

  1. 172.16.138.11 es01
  2. 172.16.138.18 es02
  3. 172.16.138.80 es03

将上述内容分别写入三台服务器 hosts 文件。

最后使用 rpm 包进行安装:

  1. [root@es01 tools]# yum localinstall elasticsearch-7.3.1-x86_64.rpm
  1. systemctl daemon-reload
  2. systemctl enable elasticsearch.service

二、配置

下面这个配置文件可配置 ES 的 java_homees_config_home

  1. /etc/sysconfig/elasticsearch

ES 本身的一些配置位于以下路径,这里可配置 Elasticsearch 的堆内存,数据保留天数等信息:

  1. /etc/elasticsearch

所有配置文件描述及路径见下表:

配置类型 描述 路径
home Elasticsearch 的 home 目录 /usr/share/elasticsearch
bin 可执行文件目录 /usr/share/elasticsearch/bin
conf 配置文件目录 /etc/elasticsearch
conf 环境变量配置 /etc/sysconfig/elasticsearch
data 数据目录 /var/lib/elasticsearch
log 日志文件目录 /var/log/elasticsearch
plugin 插件目录 /usr/share/elasticsearch/plugins

配置 JVM

建议配置:
Xmx 及 Xms 设置成一样,并且不要超过本机内存的 50%。而且不要超过 30GB

安装插件

安装国际化分词插件 analysis-icu

  1. /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
  2. /usr/share/elasticsearch/bin/elasticsearch-plugin list
  3. analysis-icu

安装外部工具

可进一步安装外部工具 elasticsearch-head 或是 crebro。 这两个工具都能够可视化呈现 ES 集群、节点及分片信息。

https://github.com/mobz/elasticsearch-head

三、部署集群

  1. [root@es01 ~]# vim /etc/elasticsearch/elasticsearch.yml
  2. cluster.name: xsh-test
  3. node.name: es01 # 主要是这里每个节点要使用自己的名字
  4. network.host: 172.16.138.11
  5. http.port: 9200
  6. discovery.seed_hosts: ["172.16.138.11", "172.16.138.18", "172.16.138.80"]
  7. cluster.initial_master_nodes: ["172.16.138.11", "172.16.138.18", "172.16.138.80"]

查看集群健康状态:

  1. curl -X GET "172.16.138.11:9200/_cat/health?pretty"
  2. 1567503546 09:39:06 xsh-test green 3 3 0 0 0 0 0 0 - 100.0%
  1. curl -X GET "172.16.138.11:9200/_cluster/health?pretty"
  2. {
  3. "cluster_name" : "xsh-test",
  4. "status" : "green",
  5. "timed_out" : false,
  6. "number_of_nodes" : 3,
  7. "number_of_data_nodes" : 3,
  8. "active_primary_shards" : 0,
  9. "active_shards" : 0,
  10. "relocating_shards" : 0,
  11. "initializing_shards" : 0,
  12. "unassigned_shards" : 0,
  13. "delayed_unassigned_shards" : 0,
  14. "number_of_pending_tasks" : 0,
  15. "number_of_in_flight_fetch" : 0,
  16. "task_max_waiting_in_queue_millis" : 0,
  17. "active_shards_percent_as_number" : 100.0
  18. }

查看节点:

  1. curl -X GET "172.16.138.11:9200/_cat/nodes"
  2. 172.16.138.11 24 83 0 0.00 0.01 0.05 dim * es01
  3. 172.16.138.18 14 68 0 0.00 0.01 0.05 dim - es02
  4. 172.16.138.80 17 67 10 0.26 0.09 0.07 dim - es03
  5. curl -X GET "172.16.138.11:9200/_cat/nodes?v"
  6. ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
  7. 172.16.138.11 18 83 0 0.00 0.01 0.05 dim * es01
  8. 172.16.138.18 24 68 0 0.00 0.01 0.05 dim - es02
  9. 172.16.138.80 31 67 0 0.00 0.02 0.05 dim - es03

查看各节点硬盘空间分配状况:

  1. curl -X GET "172.16.138.11:9200/_cat/allocation"
  2. 0 0b 3.2gb 21.7gb 24.9gb 13 172.16.138.11 172.16.138.11 es01
  3. 0 0b 2.9gb 22gb 24.9gb 11 172.16.138.18 172.16.138.18 es02
  4. 0 0b 2.9gb 22gb 24.9gb 11 172.16.138.80 172.16.138.80 es03

查看索引:

  1. curl -X GET "172.16.138.11:9200/_cat/indices?v"
  2. health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
  3. green open .kibana_task_manager pF4Ir0GxS5OgWUrqwAudTQ 1 1 2 0 42.8kb 21.4kb
  4. green open bank eIsiShemRiSdboV_Um6IEg 1 1 1000 0 828.7kb 414.3kb
  5. green open cdmonkey NghxyYICRzyVjVoVGtpgew 1 1 1 0 8.4kb 4.2kb
  6. green open shakespeare zxUICtd_TNys1OIaIFyd2Q 1 1 111396 0 39.1mb 19.5mb
  7. green open logstash-2015.05.20 sepBDuxdTvWPn0SwWT03Hw 1 1 0 0 11.4mb 5.7mb
  8. green open .kibana_1 ZWc5uotARUW1nNa4rpO-0g 1 1 13 3 98.4kb 49.2kb
  9. green open logstash-2015.05.18 JhvlfDH-TGeukWns2vp_6Q 1 1 0 0 11mb 5.5mb
  10. green open logstash-2015.05.19 2h-fPCm5Sv29LPrBg1G4-w 1 1 0 0 11.2mb 5.6mb

节点(node)是一个运行着的Elasticsearch实例。集群(cluster)是一组具有相同cluster.name的节点集合,他们协同进行工作,共享数据并提供故障转移和扩展功能,当然,只有一个节点也可以组成一个集群。你最好找一个合适的名字来替代cluster.name的默认值,比如你自己的名字,这样可以防止一个新启动的节点加入到相同网络中的另一个同名的集群中。

你可以通过修下面的配置文件,然后重启服务来做到这一点:

  1. #修改集群名称:
  2. [root@checklog_200 elasticsearch-1.5.0]# vim config/elasticsearch.yml
  3. cluster.name: cdmonkey #找到这一行,去掉注释并且修改成自己的集群名。

关闭服务:
如果服务在前台运行,你当然可以使用“Ctrl+C”来终止服务进程,如果是后台运行,需要通过下面的方法来关闭服务。

  1. #调用shutdown API来关闭服务:
  2. [root@checklog_200 ~]# curl -XPOST 'http://localhost:9200/_shutdown'
  3. {"cluster_name":"elasticsearch","nodes":{"xOc-DDLRS6yTaSSxUF6lxg":{"name":"Wasp"}}}
  4. #再将服务启动起来:
  5. [root@checklog_200 ~]# tools/elasticsearch-1.5.0/bin/elasticsearch -d

Marvel & Sense

如果你安装了“Marvel”作为管理和监控的工具,就可以在浏览器里通过以下地址访问它:
http://10.10.200.22:9200/_plugin/marvel/
你可以在界面中通过点击“dashboards”,在下拉菜单中访问Sense开发者控制台,或者直接访问以下地址:
http://10.10.200.22:9200/_plugin/marvel/sense/

此处输入图片的描述


参考内容:

https://www.cnblogs.com/sanduzxcvbnm/p/11337760.html
https://blog.frognew.com/2019/08/elasticsearch-7.x-yum-install.html

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注