目录
前言
随着业务数据的增长,关系型数据库表数据越来越大,检索查询会变得非常慢,这时候需要快速查找到需要找到的数据,就需要用到ElasticSearch。Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。
一、搭建集群的环境配置
Linux6以上版本安装ES8版本最低配置:8G 4C 80G
ES8版本自带JDK
环境变量设置:
############修改环境变量################
#vi /etc/profile
############新增如下配置################
export ES_JAVA_HOME=/es/elasticsearch8.2/jdk
############生效环境变量################
#source /etc/profile
二、集群安装规划
机器地址 | 节点名称 | 节点角色 | 节点功能 |
192.168.0.100 | node-1 | Master,data | 主+数据节点 |
192.168.0.101 | node-2 | Master,data | 主+数据节点 |
192.168.0.102 | node-3 | Master,data | 主+数据节点 |
三、ES集群建立前提
ES集群必须至少2个具有选举的Master资格的节点,集群才能启动。
∴正式使用的集群具有选举为Master资格的节点必须三个或者更多。
否则主节点出现故障时集群无法完成切换主节点,导致集群停止运行。
四、软件下载
官网地址:https://elastic.co/cn/ 当前例子文件:elasticsearch-8.2.3-linux-x86_64.tar.gz
五、集群部署(创建用户使用应用用户部署)
5.1 上传到根目录解压文件、修改文件名称
#tar -zxcf elasticsearch-8.2.3-linux-x86_64.tar.gz
#mv elasticsearch-8.2.3 elasticsearch8.2
#cd elasticsearch8.2
5.2创建用户、组 配置文件夹组及权限
#####添加用户组:“es”
#groupadd es
#####添加用户:“es”
#useradd -g es es
#####设置密码
#passwd es
#####配置文件夹组及用户权限
#chown -R es:es /es/elasticsearch8.2
#chmod -R 755 /es/
5.3更改修改服务器配置
释放内存
#free -h
#sync
#echo 3 > /proc/sys/vm/drop_caches
调整文件打开数限制
#vi /etc/security/limits.conf
######添加以下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4086
#vi /etc/sysctl.conf
#####添加如下内容:
vm.max_map_count=655360
#sysctl -p
#ulimit -HSn 65535
5.4编辑ES配置文件
#cp /es/elasticsearch8.2/config/jvm.options /es/elasticsearch8.2/config/jvm.options.bak
#vi /es/elasticsearch8.2/config/jvm.options
############修改jvm内存大小。根据机器修改(最低配置)
-Xms 2g
-Xms 2g
############修改配置文件
#vi /es/elasticsearch8.2/config/elasticsearch.yml
############更改如下:
cluster.name:ES82 #集群名称
node.name:node-1 #节点名称-这里修改成机器的节点名称,第二个章有介绍
node.master:true
node.data:true
path.data:/es/elasticsearch8.2/data #数据存储位置
path.log:/es/elasticsearch8.2/log #r日志存储位置
network.host:0.0.0.0 #允许连接IP
http.port:9200 #页面访问端口
transport.tcp.port:9300 #集群数据同步端口
bootstrap.memory_lock:false #是否锁住内存,避免交换(swapped)带来的性能损失,默认值是: false
bootstrap.system_call_filter:false #因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
cluster.initial_master.nodes:["node-1","node-2","node-3"] #master节点名称
discovery.seed_hosts:["192.168.0.100:9300","192.168.0.101:9300","192.168.0.102:9300"] #集群成员
5.5 配置集群间安全访问证书密钥:
仅一台集群服务器执行
#################签发ca 证书
#/es/elasticsearch8.2/bin/elasticsearch-certutil ca
回车、回车
#################用ca 证书签名节点证书
#/es/elasticsearch8.2/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
回车、回车、回车
#################将证书放在certs目录(手动创建)
#mv elastic-certificates-ca.p12 elastic-stack-ca.p12 config/certs
5.6 配置文件 elasticsearch.yml 中添加假证书密钥
#vi /es/elasticsearch8.2/config/elasticsearch.yml
xpack.security.enabled:true
xpack.security.transport.ssl.enabled:true
xpack.security.transport.ssl.verification_mode:certificate
xpack.security.transport.ssl.keystore.path:/es/elasticsearch8.2/config/certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path:/es/elasticsearch8.2/config/certs/elastic-certificates.p12
5.7 创建剩余集群接节点(克隆修改es的yml 或者单独1-4证书拷贝修改es的yml)
5.8IK分词插件
#cd /es/elasticsearch8.2/plugins
#mkdir ik
#cd ik
#cp ik8.2.3.zip .
#unzip ik8.2.3.zip
#chown -R es:es /es/elasticsearch8.2/plugins/ik
重启
六、集群节点启动停止
6.1启动集群节点
必须切换es用户启动,分别3台机器启动
#cd /es/elastsearch8.2/bin/
#./elastsearch -d
6.2执行修改密码(auto自动生成interactive设置密码)
#./elasticsearch-setup-passwords auto
6.3停止集群节点
#kil -9 【ES进程号】
七、集群相关命令
查看集群状态:http://:9200/_cat/nodes?v
列出所有索引:http://:9200/_cat_indices?v
八、集群节点添加、删除
8.1添加节点
1、修改elasticsearch.yml
2、证书设置到项目目录下
8.2删除节点
直接关闭节点,并修改相关配置即可。但是一次性删除节点数据不能超过一半
官网地址:https://elastic.co/cn/ 当前例子文件:elasticsearch-8.2.3-linux-x86_64.tar.gz
总结
全文介绍了ES的集群离线部署搭建。从下载到部署到创建用户权限。