【elasticsearch专题】:在windows系统下安装elasticsearch集群

文章目录

  • 1.引言
  • 2.下载
  • 3.环境装备
    • 3.1 配置jdk环境变量
    • 3.2 修改jvm配置
  • 4.单机配置
    • 4.1 单机启动
    • 4.2 单机校验
  • 5.集群的配置与启动
  • 6.集群信息
  • 7. _cat命令
    • 7.1 获取所有的_cat命令
    • 7.2 _cat命令的解释
  • 8.总结

1.引言

  最近在做的项目中使用到了Elasticsearch,在公司有运维同事安装好了服务可供开发测试使用,但是我在家想要测试却发现没有服务可用,思来想去就自己搭建一个吧,拿出满是灰尘的笔记本,开始在windows系统下从下载安装到集群的搭建。

2.下载

从 官网下载 windows版本,我选择的版本是7.17.12,点击右边的 Download 按钮
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第1张图片
选择 WINDOWS 进行下载,文件大小大概是 298M
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第2张图片
下载完成后将压缩包解压,我存放在D盘跟目录
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第3张图片

3.环境装备

3.1 配置jdk环境变量

如果已经配置了jdk8以上可以忽略,如果没有配置,按照下面一步一步配置
打开设置,找到高级系统设置,点击环境设置
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第4张图片
点击系统变量下面的新建按钮,添加变量名:ES_JAVA_HOME,变量值是es目录下的jdk目录(根据自己存放的es目录填写)
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第5张图片

3.2 修改jvm配置

找到es根目录下的config目录,该目录是存放es配置的地方,进入jvm.options.d目录,创建一个文件jvm.options(文件名称随意,但是后缀必须是.options,不然无效),文件内容:

-Xms512m
-Xmx512m

我笔记本电脑的内存比较小,内存大小只有4G,想要搭建集群不设置小点是不可能搭建起来的

4.单机配置

4.1 单机启动

打开cmd,定位到我们的es根目录,执行启动命令

.\bin\elasticsearch.bat

关注cmd的控制台,如果启动成功会有这段日志打印出来:

[2023-08-07T21:12:28,966][INFO ][o.e.c.r.a.AllocationService] [DESKTOP-ITBV32J] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.ds-.logs-deprecation.elasticsearch-default-2023.08.07-000001][0]]]).

4.2 单机校验

打开浏览器,输入 http://localhost:9200/
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第6张图片
回到我们的es目录下,发现多了 data 和 logs两个文件夹,一个是存放数据,另外一个是存放日志
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第7张图片
windows下的关闭直接关闭cmd窗口或者crtl+c组合命令即可

5.集群的配置与启动

(停止前面的单节点启动)
需求:创建一个集群c-1,包含三个节点,在es的根目录下按照顺序分别启动三个cmd窗口执行

  1. 节点n1的命令:
.\bin\elasticsearch.bat -E cluster.name=c-1 -E node.name=n1 -E path.data=.\tmp\c1\data1 -E path.logs=.\tmp\c1\log-1 -E http.port=9201 -E transport.tcp.port=9301 -E discovery.seed_hosts="127.0.0.1:9301,127.0.0.1:9302,127.0.0.1:9303" -E cluster.initial_master_nodes="n1,n2,n3"
  1. 节点****的命令
.\bin\elasticsearch.bat -E cluster.name=c-1 -E node.name=n2 -E path.data=.\tmp\c1\data2 -E path.logs=.\tmp\c1\log-2 -E http.port=9202 -E transport.tcp.port=9302 -E discovery.seed_hosts="127.0.0.1:9301,127.0.0.1:9302,127.0.0.1:9303" -E cluster.initial_master_nodes="n1,n2,n3"
  1. 节点****的命令
.\bin\elasticsearch.bat -E cluster.name=c-1 -E node.name=n3 -E path.data=.\tmp\c1\data3 -E path.logs=.\tmp\c1\log-3 -E http.port=9203 -E transport.tcp.port=9303 -E discovery.seed_hosts="127.0.0.1:9301,127.0.0.1:9302,127.0.0.1:9303" -E cluster.initial_master_nodes="n1,n2,n3"

命令解析:

  • cluster.name:集群的名称,同一个集群的名字必须一致
  • node.name:节点的名字,同一个集群下的节点名字是唯一的
  • transport.tcp.port:数据的tcp传输端口,默认9300,如果在同一台机器下应该保持每个节点的唯一
  • discovery.seed_hosts:集群内所有节点的地址,即填写所有节点的ip:tcp端口
  • cluster.initial_master_nodes:集群启动的初始化master节点,主节点会从中选举

6.集群信息

  • 查询各个节点信息
    浏览器分别访问localhost:9201,localhost:9202,localhost:9203
    【elasticsearch专题】:在windows系统下安装elasticsearch集群_第8张图片

  • 查看集群健康状态信息
    访问localhost:9201/_cat/health?v
    【elasticsearch专题】:在windows系统下安装elasticsearch集群_第9张图片

  • 查看所有节点信息
    访问 localhost:9201/_cat/nodes?v
    【elasticsearch专题】:在windows系统下安装elasticsearch集群_第10张图片

7. _cat命令

7.1 获取所有的_cat命令

_cat命令是Elasticsearch提供的一组用于查看集群状态和信息的API端点。这些API端点返回以易读的表格形式表示的文本数据,所有的_cat命令可以通过浏览器访问localhost:9201/_cat 获取
【elasticsearch专题】:在windows系统下安装elasticsearch集群_第11张图片

7.2 _cat命令的解释

下面对每个_cat命令的用途进行详细解释:

  • /_cat/allocation: 显示每个节点上分配的索引存储情况,包括节点名称、存储的索引数量、存储的数据量等。

  • /_cat/shards: 列出每个索引的分片详细信息,包括索引名称、分片编号、状态、节点、分片大小等。

  • /_cat/shards/{index}: 显示特定索引的分片详细信息,通过替换{index}为相应的索引名称来查看。

  • /_cat/master: 显示当前被选为主节点的节点信息。

  • /_cat/nodes: 列出集群中所有节点的信息,包括节点名称、IP地址、版本号等。

  • /_cat/tasks: 显示正在进行或排队中的任务的详细信息,如索引、操作类型、节点等。

  • /_cat/indices: 列出所有索引的基本信息,包括名称、文档数量、存储大小等。

  • /_cat/indices/{index}: 显示特定索引的详细信息,通过替换{index}为相应的索引名称来查看。

  • /_cat/segments: 显示每个索引分片的段(segment)信息,包括段ID、文档数量、存储大小等。

  • /_cat/segments/{index}: 显示特定索引的段信息,通过替换{index}为相应的索引名称来查看。

  • /_cat/count: 显示集群中所有索引的文档数量总和。

  • /_cat/count/{index}: 显示特定索引的文档数量,通过替换{index}为相应的索引名称来查看。

  • /_cat/recovery: 显示每个索引分片的恢复状态。

  • /_cat/recovery/{index}: 显示特定索引分片的恢复状态,通过替换{index}为相应的索引名称来查看。

  • /_cat/health: 显示集群的健康状态,包括主分片数量、副本分片数量、节点数量等。

  • /_cat/pending_tasks: 显示等待执行的任务信息。

  • /_cat/aliases: 列出集群中所有索引别名的信息。

  • /_cat/aliases/{alias}: 显示特定索引别名的信息,通过替换{alias}为相应的别名来查看。

  • /_cat/thread_pool: 显示集群中所有线程池的信息,包括线程池名称、活动线程数、排队任务数等。

  • /_cat/thread_pool/{thread_pools}: 显示特定线程池的信息,通过替换{thread_pools}为相应的线程池名称来查看。

  • /_cat/plugins: 显示已安装插件的信息。

  • /_cat/fielddata: 显示每个字段的缓存大小。

  • /_cat/fielddata/{fields}: 显示特定字段的缓存大小,通过替换{fields}为相应的字段名称来查看。

  • /_cat/nodeattrs: 显示节点的自定义属性信息。

  • /_cat/repositories: 显示注册的备份存储库。

  • /_cat/snapshots/{repository}: 显示特定备份存储库中的快照信息,通过替换{repository}为相应的存储库名称来查看。

  • /_cat/templates: 显示索引模板信息。

  • /_cat/ml/anomaly_detectors: 显示所有机器学习异常检测器的信息。

  • /_cat/ml/anomaly_detectors/{job_id}: 显示特定机器学习异常检测器的信息,通过替换{job_id}为相应的作业ID来查看。

  • /_cat/ml/trained_models: 显示所有训练模型的信息。

  • /_cat/ml/trained_models/{model_id}: 显示特定训练模型的信息,通过替换{model_id}为相应的模型ID来查看。

  • /_cat/ml/datafeeds: 显示所有数据源的信息。

  • /_cat/ml/datafeeds/{datafeed_id}: 显示特定数据源的信息,通过替换{datafeed_id}为相应的数据源ID来查看。

  • /_cat/ml/data_frame/analytics: 显示所有数据帧分析的信息。

  • /_cat/ml/data_frame/analytics/{id}: 显示特定数据帧分析的信息,通过替换{id}为相应的ID来查看。

  • /_cat/transforms: 显示所有转换任务的信息。

  • /_cat/transforms/{transform_id}: 显示特定转换任务的信息,通过替换{transform_id}为相应的任务ID来查看。

8.总结

  至此,我们详细介绍了在windows系统下Elasticsearch的下载、环境装备、单机配置和集群启动等关键步骤,并结合图文的介绍与校验,从而成功的启动了集群,并介绍了Elasticsearch的_cat命令,用于查看集群状态和信息。希望通过本文,可以帮你成功安装配置Elasticsearch集群。

你可能感兴趣的:(实战指南,elasticsearch,elasticsearch,windows,大数据)