Elasticsearch集群的安装与部署
一、硬件环境
假设有4台机,IP及主机名如下:
192.168.100.105 c1 192.168.100.110 c2 192.168.100.115 c3 192.168.100.120 c4
二、软件环境
操作系统:Ubuntu Server 18.04
JDK:1.8.0
Elasticsearch:7.10.1
1.安装JDK
https://www.cnblogs.com/live41/p/14235891.html
三、搭建Elasticsearch集群
1.下载elasticsearch
https://www.elastic.co/cn/downloads/elasticsearch
这里下载Linux x86_64版本,elasticsearch-7.10.1-linux-x86_64.tar.gz
2.上传并解压
这里放在/home/目录
cd /home tar -xvf elasticsearch-7.10.1-linux-x86_64.tar.gz mv elasticsearch-7.10.1-linux-x86_64 es
3.配置elasticsearch.yml
vim es/config/elasticsearch.yml
配置以下几个属性:
#集群名 cluster.name: clotho #节点名(每台机配唯一的值),c2机用node-2,c3机用node-3,c4机用node-4 node.name: node-1 #数据存储目录 #path.data: /home/es/data #日志存储目录 #path.logs: /home/es/logs #监听IP(每台机配各自的IP值),也可以配0.0.0.0 network.host: 192.168.100.105 #监听的http端口 #http.port: 9200 #监听的tcp端口 #transport.tcp.port: 9300 #启用传输压缩 #transport.tcp.compress: true #集群各个节点的IP discovery.seed_hosts: ["192.168.100.105", "192.168.100.110", "192.168.100.115", "192.168.100.120"] #初始化的主节点 cluster.initial_master_nodes: ["node-1", "node-2"]
* 如果使用的是域名或主机名进行互相访问,还需要增加以下2个参数:
http.cors.enabled: true http.cors.allow-origin: "*"
4.配置jvm.options
vim es/config/jvm.options
配置JVM的最小最大使用内存
-Xms1g
-Xmx6g
5.创建运行用户
由于ES不能使用root用户运行,所以需要创建另外的用户
#创建用户组 groupadd esgroup #创建用户并添加至用户组 useradd es -g esgroup -s /bin/bash #设置密码 passwd es #设置新用户对于/es/目录的权限 chown -R es:esgroup es
6.运行
(1) 先切换到新用户
su es
(2) 启动
#正常运行,退出可使用ctrl+c es/bin/elasticsearch #后台运行,退出需要用kill es/bin/elasticsearch &
(3) 关闭
* 由于es没配置jvm路径,所以需要先退出到root用户,再jps查看es的进程名
exit jps kill -9 es的进程ID
7.测试
浏览器打开http://c1:9200