一、ES集群部署环境信息
操作系统 |
节点名 |
主机地址 |
Centos7.4 |
elk-node1 |
10.0.1.38 |
Centos7.4 |
elk-node2 |
10.0.1.40 |
Centos7.4 |
elk-node3 |
10.0.1.46 |
二、部署Elasticsearch集群
1、安装JDK环境
Elasticsearch是基于Java开发是一个Java程序,运行在Jvm中,所以第一步要安装JDK,采用yum安装方式
yum -y install jdk1.8-1.8.0_261-fcs.x86_64
2、操作系统调优
echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 131072" >> /etc/security/limits.conf echo "* soft nproc 4096" >> /etc/security/limits.conf echo "* hard nproc 4096" >> /etc/security/limits.conf echo "vm.max_map_count=655360" >> /etc/sysctl.conf
继续再修改一个参数 vim /etc/security/limits.d/90-nproc.conf 将里面的1024改为2048(ES最少要求为2048) * soft nproc 2048
sysctl -p
3、安装ES并配置
tar -zxvf /data/elasticsearch-6.8.2.tar.gz vim /data/elasticsearch-6.8.2/config/elasticsearch.yml
三台服务器配置如下:
cluster.name: my-elk-cluster #集群名称;三台保持一致 node.name: elk-node1 #节点名称,仅仅是描述名称,用于在日志中区 node.master: true # node.data: true # path.data: /data/elasticsearch-6.8.2/data #数据存放路径 path.logs: /data/elasticsearch-6.8.2/logs #日志存放路径 bootstrap.memory_lock: false # bootstrap.system_call_filter: false ##限制程序使用某些系统调用 network.host: 10.0.1.38 # 绑定监听ip地址;每台指向本机ip http.port: 9200 #服务端口 discovery.zen.ping.unicast.hosts: ["10.0.1.38", "10.0.1.40","10.0.1.46"] #集群节点 discovery.zen.minimum_master_nodes: 2 #为了避免脑裂,集群节点数最少为 半数+1
# 在末尾添加 http.cors.enabled: true #开启跨区域传送 http.cors.allow-origin: "*" #跨区域允许的域名地址
安装完毕后会生成很多文件,包括配置文件日志文件等等,下面几个是最主要的配置文件路径
/data/elasticsearch-6.8.2/config/log4j2.properties #日志格式文件 /etc/elasticsearch/elasticsearch.yml #ES配置文件 /etc/elasticsearch/jvm.options # JVM相关的配置,内存大小等等 /data/elasticsearch-6.8.2/data #数据的存放位置
4、调整JVM大小
vim /data/elasticsearch-6.8.2/config/ jvm.options -Xms8g -Xmx8g
5、创建ES启动用户并授权
# useradd elasticsearch
# mkdir -p /data/elasticsearch-6.8.2/data # 数据目录 # chown -R elasticsearch:elasticsearch /data/elasticsearch-6.8.2/data #属主属组 # mkdir -p /data/elasticsearch-6.8.2/logs # chown -R elasticsearch:elasticsearch /data/elasticsearch-6.8.2/logs
6、启动ES集群
/data/elasticsearch-6.8.2/bin/elasticsearch -d & #启动ES服务
ps -ef |grep elast #查看ES进程
curl 'http://10.0.1.38:9200/_cat/nodes?pretty' #看看集群状态
10.0.1.38 16 19 0 0.00 0.13 0.18 mdi - elk-node1 10.0.1.40 7 19 0 0.00 0.02 0.05 mdi - elk-node2 10.0.1.46 14 19 0 0.00 0.01 0.05 mdi * elk-node3
出现