分享

ELK学习002:Elasticsearch 7.x 的安装及配置

 新进小设计 2020-12-24

Elasticsearch 的安装与启动

1.1 下载 Elasticsearch 7.6.0

下载地址:https://www./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

[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

{
  "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。

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。

network.host: 0.0.0.0

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

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关键配置说明

# ---------------------------------- 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. 参数修改的第二种方式

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

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

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

[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 实例,可以使用简单的命令实现

[root@localhost ~]# ps -ef | grep elasticsearch           # 找到elasticsearch线程
[root@localhost ~]# kill -9 pid                           # 杀死elasticsearch线程

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多