Elasticsearch7.17.8集群的搭建
节点host名称 | 节点ip | 节点部署内容 |
k8s-m | 192.168.40.142 | 主节点 数据节点 |
k8s-w1 | 192.168.40.141 | 主节点 数据节点 |
k8s-w2 | 192.168.40.140 | 数据节点 |
一、准备安装环境
1.下载安装包 官网 www.elastic.co 下载所有版本地址 点击跳转 下载elasticsearch-7.17.8版本
2.创建安装环境
安装jdk并配置环境变量
3.上传压缩包
4.解压Elasticsearch压缩包
tar -xzf elasticsearch-7.17.8-linux-x86_64.tar.gz
5.移动至安装目录
mv elasticsearch-7.17.8 /usr/local
6.创建目录
cd /usr/local/elasticsearch-7.17.8
mkdir data
mkdir logs
二、修改配置文件
1.修改Elasticsearch的配置文件elasticsearch.yml
vim config/elasticsearch.yml
#为集群设置名称,集群内所有节点配置的名称必须一致
cluster.name: elastic
#当前节点取名,集群内节点名称必须唯一
node.name: k8s-m
#数据存储目录(用逗号分隔多个位置) 这个目录默认不存在,自行创建
path.data: /usr/local/elasticsearch-7.17.8/data
#日志文件路径
path.logs: /usr/local/elasticsearch-7.17.8/logs
#TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
#启动时是否有锁定内存,生产环境需要true(可用内存一般设置可用内存的一半左右)
bootstrap.memory_lock: true
#当前节点地址
network.host: 0.0.0.0
#es对外提供的http端口,默认 9200
http.port: 9200
#写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["k8s-m", "k8s-w1", "k8s-w2"]
#始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["k8s-m", "k8s-w1"]
#配置跨域,以便es-head可视化工具连接
http.cors.enabled: true
http.cors.allow-origin: "*"
2.修改Elasticsearch的配置文件jvm.options
vim config/jvm.options
内存大的可以配置成1g或者更大
-Xms512m
-Xmx512m
三、分发配置修改过的安装包到节点2与节点3
scp /usr/local/elasticsearch-7.17.8 root@192.168.40.141:/usr/local/
scp /usr/local/elasticsearch-7.17.8 root@192.168.40.140:/usr/local/
四、修改节点2与节点3的配置文件
只修改当前节点名称,其余配置和主节点一样
vim /usr/local/elasticsearch-7.17.8/config/elasticsearch.yml
#当前节点取名,集群内节点名称必须唯一
node.name: k8s-w1
==================================================
#当前节点取名,集群内节点名称必须唯一
node.name: k8s-w2
五、修改配置
1.系统配置
修改进程的最大文件数,添加最大创建文件数(*不能去掉),配置/etc/security/limits.conf文件,在底部添加
vim /etc/security/limits.conf
* soft nofile 1048576
* hard nofile 1048576
配置 /etc/sysctl.conf文件,修改vm.max_map_count参数,该参数设置进程可以适用的的VMA(虚拟内存区域)数量。修改完成后,执行“sysctl -p”命令,使修改的配置生效
vim /etc/sysctl.conf
vm.max_map_count = 655360
sysctl -p
六、启动集群
启动集群不能使用root用户 需要使用普通用户 这里创建elastic用户(每个节点都需要创建赋权限)
useradd elastic -m
设置密码
passwd elastic
赋予安装包的使用权限(注意如果数据目录不在安装包下 需要再赋予一次数据目录权限)
chown -R elastic:elastic /usr/local/elasticsearch-7.17.8
启动 :
su elastic
cd /usr/local/elasticsearch-7.17.8/bin
./elasticsearch
后台启动
./elasticsearch -d
配置完成
七、设置开机自启
自定义启动脚本 需要在es账户之间配置免密登录
先查看当前的开机启动服务chkconfig --list
创建es 的系统启动服务文件,进入到 cd /etc/init.d 目录,编写elasticsearch脚本
#!/bin/sh
# chkconfig: - 85 15
#description: elasticsearch
export ES_HOME=/usr/local/elasticsearch-7.17.8
case "$1" in
start)
su elastic<<!
cd $ES_HOME
./bin/elasticsearch -d -p pid
!
echo "elasticsearch startup"
;;
stop)
kill -9 `cat $ES_HOME/pid`
echo "elasticsearch stopped"
;;
restart)
kill -9 `cat $ES_HOME/pid`
echo "elasticsearch stopped"
su elastic<<!
cd $ES_HOME
./bin/elasticsearch -d -p pid
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
chmod 777 elasticsearch
添加和删除服务并设置启动方式;
chkconfig --add elasticsearch # 【添加系统服务】
chkconfig --del elasticsearch # 【删除系统服务】
关闭和启动服务;
systemctl start elasticsearch # 【启动服务】
systemctl stop elasticsearch # 【停止服务】
systemctl restart elasticsearch # 【重启服务】
设置服务是否开机启动;
#【开启服务】
chkconfig elasticsearch on
systemctl enable elasticsearch
# 【关闭服务】
chkconfig elasticsearch off
systemctl disable elasticsearch
测试集群
查看集群信息:
http://192.168.40.142:9200/_cat/nodes
成功后连接es
节点规模扩展
新添加的节点需要配置cluster.initial_master_nodes,旧节点如果不重启不用修改,如果要重启旧节点,需要修改cluster.initial_master_nodes写入所有节点