Elasticsearch集群安装与配置

1 环境
IPHostnameOS VersionElasticsearch Version
192.168.7.41es-node1Ubuntu 18.04.37.6.1
192.168.7.42es-node2Ubuntu 18.04.37.6.1
192.168.7.43es-node3Ubuntu 18.04.37.6.1

禁用swap,同步时间。

2 安装步骤

2.1 安装elasticsearch

安装包下载路径:https://mirror.tuna.tsinghua.edu.cn/elasticstack/apt/7.x/pool/main/e/elasticsearch/

# dpkg -i elasticsearch-7.6.1-amd64.deb

2.2 编辑elasticsearch服务配置文件

# grep -v "^#" /etc/elasticsearch/elasticsearch.yml
cluster.name: hechunping-es #elasticsearch集群名称,集群中的每个节点必须一致
node.name: es-node1 #elasticsearch节点名称,集群中的每个节点必须唯一
path.data: /elk/data #elasticsearch数据存放目录
path.logs: /elk/logs #elasticsearch日志存放目录
bootstrap.memory_lock: true #服务启动的时候锁定足够的内存,防止数据写入swap
network.host: 192.168.7.41 #监听IP
http.port: 9200 #监听端口
discovery.seed_hosts: ["192.168.7.41", "192.168.7.42","192.168.7.43"] #elasticsearch集群中node节点发现列表
cluster.initial_master_nodes: ["192.168.7.41", "192.168.7.42","192.168.7.43"] #启动一个全新的elasticsearch集群时可以被选举为master的节点列表
gateway.recover_after_nodes: 2 #elasticsearch集群中的N个节点启动后,才允许进行数据恢复处理,默认是1.通常设置为过半的集群节点数量,例如,集群中总共有3个节点,那么将该值设置为2,如果在集群中总共有5个节点,则将该值设置为3,以此类推。
action.destructive_requires_name: true #设置是否可以通过正则或者_all删除或者关闭索引库,默认true表示必须要显式指定索引库名称,生产环境建议设置为true,删除索引库的时候必须指定,否则可能会导致误删除。

2.3 配置elasticsearch使用的内存

# vim /usr/lib/systemd/system/elasticsearch.service
[Service]
LimitMEMLOCK=infinity #无限制使用内存

# vim /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g
将Xmx和Xms设置为不超过物理RAM的50%,并将它们设置为一样大。参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

2.4 目录权限设置

# mkdir -p /elk/{data,logs}
# chown -R elasticsearch.elasticsearch /elk/
# ll /elk/ -d
drwxr-xr-x 4 elasticsearch elasticsearch 4096 May  8 17:20 /elk//

注:以上操作在elasticsearch集群中的每个节点几乎一样,需要注意的是监听地址要改成对应节点的ip,以及node.name需要在集群中保证唯一。

2.5 启动elasticsearch集群中每个节点的elasticsearch服务

# systemctl daemon-reload
# systemctl enable --now elasticsearch

2.6 通过浏览器访问elasticsearch

Elasticsearch集群安装与配置

2.7 查看elasticsearch集群状态

# curl -XGET "http://192.168.7.41: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
1588933648 10:27:28  hechunping-es green           3         3      0   0    0    0        0             0                  -                100.0%
# curl -XGET "http://192.168.7.41:9200/_cat/nodes?v"
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.7.41           15          96   2    0.01    0.05     0.08 dilm      -      es-node1
192.168.7.42           19          96   2    0.00    0.02     0.00 dilm      -      es-node2
192.168.7.43           17          95   3    0.05    0.08     0.06 dilm      *      es-node3

以上信息可以发现elasticsearch集群的名称为hechunping-es,当前状态为green,有三个node节点,其中es-node3是master节点。

相关推荐