一. 环境信息
CentOS版本:7.6
elasticsearch版本信息: elasticsearch-7.3.0
假定两台机器IP为:
10.136.182.1
10.136.182.2
10.136.182.3
10.136.182.4
说明:
下载安装tar.gz包解压到对应目录即可,无需编译安装
elasticsearch的安装目录:/opt/ app/elasticsearch
elasticsearch的数据目录:/data/ elasticsearch/data
elasticsearch的日志目录:/data/ elasticsearch/log
二、环境(各节点都需要操作)
- java变量
(最新7.x不需要单独安装jdk,elasticsearch安装包自带jdk,在解压后的目录中,指定即可)
/etc/profile追加
export JAVA_HOME=/opt/app/elasticsearch/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
- 关闭SELinux
# vim /etc/sysconfig/selinux
SELINUX=disabled
- /etc/sysctl.conf 追加
fs.file-max = 1645037
vm.max_map_count=655360
执行:sysctl -p
- /etc/security/limits.conf 追加
* soft memlock unlimited
* hard memlock unlimited
三、集群配置(各节点都需要操作,node.name和network.host根据机器本身ip填写)
配置对应elasticsearch.xml,修改红色区域即可,如需其他功能可参考官方配置文档
action.destructive_requires_name: true
cluster.name: elasticsearch
node.name: node-1 //需修改
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 10.136.182.1 //需修改
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.136.182.1:9300", "10.136.182.2:9300", "10.136.182.3:9300","10.136.182.4:9300"]
discovery.zen.minimum_master_nodes: 3
gateway.recover_after_nodes: 3
client.transport.ping_timeout: 60s
thread_pool.bulk.queue_size: 1000
cluster.routing.allocation.disk.threshold_enabled: false
四、安装与启动(各节点都需要操作)
1.权限设置,admin为启动用户,可更改。不能以root用户启动
# chown -R admin:admin /opt/ app/elasticsearch
# chown -R admin:admin /data/elasticsearch
2.启动服务
Root用户下启动:
# su - admin -c "/opt/app/elasticsearch/bin/elasticsearch -d"
admin用户下启动:
# /opt/app/elasticsearch/bin/elasticsearch –d
3.测试,域名是通过nginx代理到4给节点的9200端口的
#curl -XGET 'http://es.local/_cluster/health?pretty' //获取集群状态
#curl -XGET ’http://es.local/_cat/nodes‘ //获取当前所有节点,带*的为master节点