一、es集群的安装和部署
es国内镜像下载地址,常用版本7.6和5.4。
1.1集群信息
由于虚拟机资源有限,部署了一个三节点的集群。 一台主机一个es实例
| 节点名 | ip | 版本 |
|---|---|---|
| node-1 | 192.168.137.11 | 7.6 |
| node-2 | 192.168.137.12 | 7.6 |
| node-3 | 192.168.137.13 | 7.6 |
1.2集群部署
wget https://mirrors.huaweicloud.com/elasticsearch/7.6.0/elasticsearch-7.6.0-linux-x86_64.tar.gz
解压、创建用户elastic、修改目录属主、属组。
同时需要安装jdk,在oracle官网下载即可。配置java环境变量
[root@master ~]# vim /etc/profile 添加以下内容export JAVA_HOME=/usr/local/java/jdk-11.0.9export PATH=$PATH:$JAVA_HOME/bin[root@master ~]# source /etc/profile
修改jvm参数
[root@master config]# vim /app/es-1/config/jvm.options-Xms256m-Xmx256m
修改最大打开文件数
es配置的一个重要部分是调整操作系统,在索引过程中,尤其在有很多分片和副本的情况下,es会创建若干文件。因此,操作系统对打开文件数量的限制不能小于32000。对于Linux服务器通常来将可以在/etc/security/limits.conf文件中进行修改,并可以使用ulimit命令来查看当前值。
使用命令ulimit修改只是暂时的,永久生效就改limits.conf文件
[root@master config]# cat /etc/security/limits.conf* soft nproc 65535* hard nproc 65535* soft nofile 65535* hard nofile 65535* soft memlock unlimited* hard memlock unlimited
命令查看最大打开文件数
[root@master config]# ulimit -n65535
Master节点核心文件配置
[root@master config]# vim /app/es-1/config/elasticsearch.ymlcluster.name: bdp-common-001node.master: truenode.data: falsepath.data: /var/data/espath.logs: /var/log/esnetwork.host: 192.168.137.11http.port: 9200transport.tcp.port: 9300discovery.seed_hosts: ["192.168.137.11:9300"]cluster.initial_master_nodes: ["node-1"]
Slave节点配置,node-3与node2相似不再演示。
cluster.name: bdp-common-001node.name: node-2node.master: falsenode.data: truepath.data: /var/data/espath.logs: /var/log/esnetwork.host: 192.168.137.12http.port: 9200transport.tcp.port: 9300discovery.seed_hosts: ["192.168.137.11:9300"]cluster.initial_master_nodes: ["node-1"]
1.3es目录结构
介绍安装es后新创建的文件目录
| 目录名称 | 描述 | |
|---|---|---|
| bin | 运行es和进行插件管理所需的脚本 | |
| config | es的配置文件所在目录 | |
| lib | es执行中要到的库 |
启动es之后会创建如下4个文件目录
| 目录名称 | 描述 | |
|---|---|---|
| data | 存储es用到的数据 | |
| logs | 存储es执行过程中产生的事件信息的错误信息日志 | |
| plugins | 已安装插件所在目录 | |
| work | 存储临时文件 |
1.4启动集群
[root@master config]# su - elastic -c "cd /app/es-1/bin && ./elasticsearch -d"
查看进程
在es工作期间,一个服务实例通常使用两个端口,9200用于和通过HTTP协议和REST API进行通信,9300被传输模块用于集群中节点的通信。
查看集群基本信息状态
[root@master config]# curl http://192.168.137.11:9200、{"name" : "master","cluster_name" : "bdp-common-001","cluster_uuid" : "A0sgJNj_SUqtnj0wCgmqyQ","version" : {"number" : "7.6.0","build_flavor" : "default","build_type" : "tar","build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3","build_date" : "2020-02-06T00:09:00.449973Z","build_snapshot" : false,"lucene_version" : "8.4.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"}
查看集群健康度
-X 参数是一种请求方法,默认是GET。参数?pretty,标准情况下api以省略换行符的JSON格式返回信息,该参数强制es在响应中添加换行符,使响应结果更加方便人们阅读。
[root@master config]# curl http://192.168.137.11:9200/_cluster/health?pretty{"cluster_name" : "bdp-common-001","status" : "green","timed_out" : false,"number_of_nodes" : 3,"number_of_data_nodes" : 2,"active_primary_shards" : 4,"active_shards" : 8,"relocating_shards" : 0,"initializing_shards" : 0,"unassigned_shards" : 0,"delayed_unassigned_shards" : 0,"number_of_pending_tasks" : 0,"number_of_in_flight_fetch" : 0,"task_max_waiting_in_queue_millis" : 0,"active_shards_percent_as_number" : 100.0}
