Elasticsearch 安装详情

Elasticsearch 的安装与启动

1.1 下载 Elasticsearch 7.6.0

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

下载对应需要的 ES 。我这边是 Linux 的系统。另外 ES 支持 Docker 方式启动。另外,ES 7.x 不需要本地 JDK 环境支持:

  • ES 5,安装需要 JDK 8 以上
  • ES 6.5,安装需要 JDK 11 以上
  • ES 7.2.1,内置了 JDK 12

1.2 启动 Elasticsearch 7.6.0

1

2

3

4

[root@localhost ~]# su elsearch                      # 切换用户

[elsearch@localhost ~]# cd elasticsearch-7.6.0/   

[elsearch@localhost ~]# bin/elasticsearch           # 正常启动命令

[elsearch@localhost ~]# bin/elasticsearch -d         # 守护进程启动

1.3 验证 Elasticsearch 7.6.0 是否启动成功

验证方式1:打开浏览器,输入 http://localhost:9200/ 地址,然后可以得到下面的信息:

验证方式2:命令行输入:curl 127.0.0.1:9200。或者输入:curl localhost:9200

1

2

3

4

5

6

7

8

9

10

{

  "name" "VM_0_9_centos",                               # 默认启动的时候指定了 ES 实例名称.

  "cluster_name" "elasticsearch",                       # 默认名为 elasticsearch

  "cluster_uuid" "noTo0yvOQBeMtZXh9D0frQ",

  "version" : {                                           # 版本信息

    "number" "7.6.0",

    ......

  },

  "tagline" "You Know, for Search"

}

打开浏览器,通过 http://localhost:9200/_cat/nodes?v 地址,可以看到当前节点信息,如下:

命令行输入:curl 127.0.0.1:9200/_cat/nodes?v。或者输入:curl localhost:9200/_cat/nodes?v。

1

2

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name

127.0.0.1           45          83   1    0.00    0.01     0.08 dilm      *      VM_0_9_centos

1.4 设置 Elasticsearch 7.6.0 可以外网访问

1. elasticsearch默认端口9200,需要开启服务器端口才可以外网访问。

2. 修改elasticsearch.yml配置文件,将ip改为0.0.0.0,如果需要特定ip可以访问,可以设定为固定的ip。

1

network.host: 0.0.0.0

3. 启动elasticsearch,发现无法启动会出现报错信息。

1

2

3

ERROR: [2] bootstrap checks failed

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured 

错误1解决:修改 /etc/sysctl.conf 配置文件,添加一行配置:vm.max_map_count=360000

错误2解决:修改elasticsearch.yml配置文件,放开注释即可:cluster.initial_master_nodes: ["node-1", "node-2"]

Elasticsearch 的配置

1. 配置文件位于 /elasticsearch-7.6.0/config 目录下面

  • elasticsearch.yml     es的相关配置
  • jvm.options               jvm的相关参数(内存大小等)
  • log4j2.properties     日志相关配置

2. elasticsearch.yml关键配置说明

1

2

3

4

5

6

7

8

9

10

11

12

13

# ---------------------------------- Cluster ---------------------------------------------------

cluster.name: my-application   ES集群名称,以此作为是否同一集群的判断条件,相同集群内的节点设置相同的集群名。

 

# ----------------------------------- Node -----------------------------------------------------

node.name: node-1              ES节点名称,以此作为集群中不同节点的区分条件,即实例名。

 

# ----------------------------------- Paths ----------------------------------------------------

path.data: /path/to/data       数据存储地址,指定了存储文档数据目录

path.logs: /path/to/logs       日志存储地址,注意这里要改成实际路径

 

# ---------------------------------- Network ---------------------------------------------------

network.host: 127.0.0.1        网络地址和端口,用于 http 和 transport 服务使用

http.port: 9200

3. elasticsearch的两种模式:Development 与 Production 模式说明:

  • 以 transport 的地址是否绑定在 localhost 为标准判断 network.host。
  • Development 模式下在启动时会以warning的方式提示配置检查异常。
  • Production 模式下在启动时会以error的方式提示配置检查异常并退出。

4. 参数修改的第二种方式

1

[elsearch@localhost ~]# bin/elasticsearch -Ehttp.port=19200

Elasticsearch 本地启动集群的方式:即单机集群多个 ES 实例

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

1

2

3

4

5

[elsearch@localhost ~]# bin/elasticsearch  

[elsearch@localhost ~]# bin/elasticsearch -E http.port=7200 -E path.data=node2

[elsearch@localhost ~]# bin/elasticsearch -E http.port=8200 -E path.data=node3

# [elsearch@localhost ~]# bin/elasticsearch -E node.name=node01 -E cluster.name=bysocket_es_cluster -E path.data=node01_data -d

# [elsearch@localhost ~]# bin/elasticsearch -E node.name=node02 -E cluster.name=bysocket_es_cluster -E path.data=node02_data -d

2. 查看多个 ES 实例启动情况

打开浏览器,输入 http://localhost:9200/_cat/nodes?v 地址,可以看到启动情况:master的值为*,则为当前 master 节点。

相关查看地址:http://IP:3120/_cat/nodes,  http://IP:3120/_cat/nodes?v,  http://IP:3120/_cluster/stats。

3. 关闭集群中的 ES 实例,可以使用简单的命令实现

1

2

[root@localhost ~]# ps -ef | grep elasticsearch           # 找到elasticsearch线程

[root@localhost ~]# kill -9 pid                           # 杀死elasticsearch线程

  

你可能感兴趣的:(Elasticsearch)