Elasticsearch环境
-
环境配置【
以下均要在三台服务器执行
】-
集群创建ES用户【root用户】
useradd elastic passwd elastic #输入es用户的密码 userdel -r elastic #如果错了,可以删除再加
-
三台机器配置ES的sudo权限
#100行左右添加: elastic ALL=(ALL) NOPASSWD: ALL
-
关闭防火墙
systemctl stop firewalld systemctl disable firewalld #查看防火墙状态 systemctl status firewalld
-
关闭selinux
vim /etc/selinux/config SELINUX=disabled #【把enforcing改为 disabled】 #查看SELinux状态 getenforce
-
修改内核参数
vim /etc/sysctl.conf #添加以下内容 vm.swappiness=1 vm.max_map_count=262144 #执行命令使内核参数生效 sysctl -p
-
修改文件大小限制
vi /etc/security/limits.d/20-nproc.conf * soft nproc 4096
-
修改三台机器的文件与进程的最大句柄数、虚拟内存大小
sudo vi /etc/security/limits.conf #在文件的末尾添加以下内容,*号不能去掉 * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 #如果你的系统是Centos6,下面两个命令不用执行 sudo sed -i '/^#DefaultLimitNOFILE=/aDefaultLimitNOFILE=4096' /etc/systemd/system.conf sudo sed -i '/^#DefaultLimitNPROC=/aDefaultLimitNPROC=4096' /etc/systemd/system.conf #永久设置 sudo vim /etc/sysctl.d/99-sysctl.conf vm.max_map_count=262144 #检查是否成功 sudo sysctl -a | grep "vm.max_map_count"
-
Elasticsearch部署
前置:需要安装jdk
- 解压
tar -xvf elasticsearch-7.8.1-linux-x86_64.tar.gz -C /opt/app/
cd /opt/app
- 修改文件用户
chown -R elastic:elastic elasticsearch-7.8.1
- 配置映射【按照自己习惯,配置方便升级】
ln -s elasticsearch-7.8.1 elasticsearch
chown -R elastic:elastic elasticsearch
- 切换到elastic用户【后面所有操作没有特别提示,均默认在elastic用户下操作】
#加 - 才能切换到elastic环境
su - elastic
- 分发【不成功可以用root用户分发,注意elasticsearch用户喔】
cd /opt/app
scp -r elasticsearch-7.8.1 node02:$PWD
scp -r elasticsearch-7.8.1 node03:$PWD
- 修改【root用户】
vim /etc/profile
# ELASTICSEARCH_HOME
export ELASTICSEARCH_HOME=/opt/app/elasticsearch
export PATH=$PATH:$ELASTICSEARCH_HOME/bin
source /etc/profile
- 创建[三台]
mkdir /opt/app/elasticsearch/data
mkdir /opt/app/elasticsearch/log
- elasticsearch.yml
cd conf/
vim elasticsearch.yml
#集群名字
cluster.name: elastic-7.8.1
##集群中当前的节点[根据每台服务器修改]
node.name: node-1
#数据目录,配置到指定的分区挂载目录
path.data: /opt/app/elasticsearch/data
#日志目录
path.logs: /opt/app/elasticsearch/log
#当前主机的ip地址及ES服务端口[根据每台服务器修改]
network.host: node01
#WebUI 默认9200
http.port: 7920
#是不是有资格主节点
node.master: true
node.data: true
# head 插件需要这打开这两个配置
#*表示支持所有域名
http.cors.allow-origin: "*"
#是否支持跨域
http.cors.enabled: true
http.max_content_length: 200mb
#linux安装es的一个bug解决的配置
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes:
- node01
- node02
- node03
#es7.x 之后新增的配置,节点发现 【Linux为机器IP地址,根据自己的服务器修改】
discovery.seed_hosts:
- node01:9300
- node02:9300
- node03:9300
-
分发
scp -r elasticsearch.yml elastic@192.168.88.152:$PWD scp -r elasticsearch.yml elastic@192.168.88.153:$PWD
-
修改上面配置这个 [根据每台服务器修改]
-
启动
./bin/elasticsearch -d
#web
node01:7920
node02:7920
node03:7920