elasticSearch 安装及使用采坑

1、下载地址:https://www.elastic.co/cn/downloads/elasticsearch   

本文中为:LINUX X86_64 的7.9.3 

2、解压 

tar -zxf elasticsearch-7.9.3.tar.gz
cd elasticsearch-7.9.3/bin 
./elasticsearch
注意:不要用root账号启动,会报错,报错信息明确提示不能用root账号启,
加新的账号别忘了权限啊

   如果想es作为后台守护进程,那么启动的命令后面 加   -d   


3、执行命令:  

curl http://localhost:9200/

如果返回的下面这样,说明安装成功:

{
  "name" : "localhost.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "g9uoXKQhRSCeMBAurwZOhw",
  "version" : {
    "number" : "7.9.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
    "build_date" : "2020-10-16T10:36:16.141335Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

 

重点几个关注下即可:

  • name : 默认启动的时候指定了 ES 实例名称,name 为 localhost.localdomain
  • cluster_name : 默认名为 elasticsearch
  • version :版本信息

 

查看集群健康状态:

命令:curl -X GET "localhost:9200/_cat/health?v"

返回:

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1604908400 07:53:20  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%

我们可以看到,我们命名为“elasticsearch”的集群现在是green状态。

无论何时我们请求集群健康时,我们会得到green, yellow, 或者 red 这三种状态。

  • Green : everything is good(一切都很好)(所有功能正常)
  • Yellow : 所有数据都是可用的,但有些副本还没有分配(所有功能正常)
  • Red : 有些数据不可用(部分功能正常)

从上面的响应中我们可以看到,集群"elasticsearch"总共有1个节点,0个分片因为还没有数据。

下面看一下集群的节点列表:

同样通过命令  curl http://localhost:9200/_cat/nodes?v ,可以看到当前节点信息,如下:

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           63          85   1    0.01    0.05     0.10 dilmrt    *      localhost.localdomain

可以看到集群中只有一个节点

那就捯饬几个出来

单机多个 ES 实例,形成一个 ES 单机伪集群,启动脚本如下:

bin/elasticsearch -E node.name=node01 -E cluster.name=bysocket_es_cluster -E path.data=node01_data -d

bin/elasticsearch -E node.name=node02 -E cluster.name=bysocket_es_cluster -E path.data=node02_data -d

bin/elasticsearch -E node.name=node03 -E cluster.name=bysocket_es_cluster -E path.data=node03_data -d

命令简单解释如下:

  • node.name : ES 节点名称,即实例名
  • cluster.name : ES 集群名称
  • path.data : 指定了存储文档数据目录

命令   curl http://localhost:9200/_cat/nodes?v     查看集群节点

结果如下

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1            8          77  98    4.76    2.06     2.43 dilmrt    *      node01
127.0.0.1           22          77  93    4.76    2.06     2.43 dilmrt    -      node03
127.0.0.1           17          77  96    4.76    2.06     2.43 dilmrt    -      node02

可以看到启动情况:node01 为当前 master 节点

如何关闭集群中的 ES 实例,可以使用简单的命令实现:

ps | grep elasticsearch
kill -9 pid

就是一个个kill 掉 es的进程 

 

关于es的插件

插件是用来增强 Elasticsearch 功能的方法,分为 核心插件(官方) & 社区插件。

安装 analysis-icu ICU 分析插件,命令如下:

sudo bin/elasticsearch-plugin install analysis-icu

查看已安装的插件,命令如下:

bin/elasticsearch-plugin list 

 

删除已安装的插件,命令如下:

sudo bin/elasticsearch-plugin remove analysis-icu

 第一次安装  

analysis-icu  插件失败了,报错:
ERROR: SHA-512 mismatch, expected 86872513926e。。。。 but got 34af8defd。。。。

然后专门去搜了一下 插件,,,发现一个博客上写了 :

注意:es的插件安装需要使用root权限,因为会涉及到一些文件写入的权限操作。

换到root安装,先提示要卸载,因为刚才报错的操作,其实下载了或者安装了部分(具体不清楚),

根据提示 用root,先卸载,再安装  就成功了,

有点不理解,es启动不能用root,装插件必须用 root,不知道后面使用会不会有权限问题,, 

 

参考:https://www.cnblogs.com/Alandre/p/11386178.html、https://www.cnblogs.com/cjsblog/p/9439331.html

posted @ 2020-11-11 23:29  飞叶-枯寂  阅读(607)  评论(0编辑  收藏  举报