elasticsearch应用-6.5.4版本三节点集群
elasticsearch应用(6.5.4版本三节点集群)
服务器环境:
os1:centos 7.8 192.168.56.107
os2:centos 7.8 192.168.56.125
os2:centos 7.8 192.168.56.109
java:jdk_8.0_211
搭建 es-6.5.4
安装es-6.5.4
- 下载es 6.5.4
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz - 解压至 /usr/local/
tar -zxvf elasticsearch/elasticsearch-6.5.4.tar.gz -C /usr/local/
注意: es 是由 java编写的所有直做一些配置就可以启动运行。
配置
1.修改系统配置
1.安装常用软件
yum install -y ntpdate net-tools vim lrzsz unzip gcc gcc-c++
2.关闭Firewalld、NetworkManager、Selinux
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
1.修改文件描述符数量
因为elasticsearch对文件描述符的限制至少为65536,所以必须要修改系统的文件描述符数量
vim /etc/security/limits.conf
# 添加如下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
2.修改 20-nproc.conf文件
vim /etc/security/limits.d/20-nproc.conf
# 修改 your_linux_user_name soft nproc 1024 为
* soft nproc 4096
3.修改 max_map_count值
vim /etc/sysctl.conf
# 添加下面配置:
vm.max_map_count=655360
4.执行命令系统修改生效
sysctl -p
5.关闭SELinux (安全策略)
# Linux在安装好之后通常SELinux都是出于默认开启的状态,开启的情况下会导致一些服务的安装不成功。
#临时关闭
setenforce 0
getenforce //查看
#永久关闭,需重启系统后生效
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
6.新建es用户与es组
//添加es组与es用户
groupadd es
useradd es -g es
7 设置所有集群的主机名称
vim /etc/hosts
192.168.56.107 master
192.168.56.125 slave1
192.168.56.109 slave2
- 目录规划
es数据 /data/es
日志 /var/log/es
es程序 /usr/local/elasticsearch-6.5.4
2 第一个节点的es配置
两个节点的集群配置
vim /usr/local/elasticsearch-6.5.4/config/elasticsearch.yml
#集群名称所有的同一个集群的节点要一至
cluster.name: myes
#节点名称 同一个集群中节点名称唯一 与/etc/hosts对应的主机名称一至
node.name: master
path.data: /data/es
path.logs: /var/log/es
network.host: 192.168.56.107
discovery.zen.ping.unicast.hosts: ["192.168.56.107:9300", "192.168.56.125:9300","192.168.56.109:9300"]
#配置可选master主机数 (master节点数/2)+1 = ,因为我配制两个节点建立集群。只有一个master 所以(1/2)+1 = 1;
discovery.zen.minimum_master_nodes:2
#当前节点设置为 开启master类型,如果是三个节点,那么可以在第二个节点开启 master;因为我这里两个节点所以在集群中配置一个master
node.master: true
#当前节点设置为 开启: data 类型
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
注意:不要在elasticsearch.yml中添加index开头的配置项。如
#index.number_of_shards: 5
#index.number_of_replicas: 1
2.2 第二个节点的es配置
把elasticsearch-6.5.4 复制到 102服务器的/usr/local/
cd /usr/local/
scp -r ./elasticsearch-6.5.4/ root@192.168.56.125:/usr/local/
#集群名称所有的同一个集群的节点要一至
cluster.name: myes
#节点名称 同一个集群中节点名称唯一 与/etc/hosts对应的主机名称一至
node.name: slave1
path.data: /data/es
path.logs: /var/log/es
network.host: 192.168.56.125
discovery.zen.ping.unicast.hosts: ["192.168.56.107:9300", "192.168.56.125:9300","192.168.56.109:9300"]
#配置可选master主机数 (master节点数/2)+1 = ,因为我配制两个节点建立集群。只有一个master 所以(1/2)+1 = 1;
discovery.zen.minimum_master_nodes:2
#当前节点设置为 开启master类型,如果是三个节点,那么可以在第二个节点开启 master;因为我这里两个节点所以在集群中配置一个master
node.master: true
#当前节点设置为 开启: data 类型
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
2.2 第三个节点的es配置
把elasticsearch-6.5.4 复制到 102服务器的/usr/local/
cd /usr/local/
scp -r ./elasticsearch-6.5.4/ root@192.168.56.109:/usr/local/
#集群名称所有的同一个集群的节点要一至
cluster.name: myes
#节点名称 同一个集群中节点名称唯一 与/etc/hosts对应的主机名称一至
node.name: slave2
path.data: /data/es
path.logs: /var/log/es
network.host: 192.168.56.109
discovery.zen.ping.unicast.hosts: ["192.168.56.107:9300", "192.168.56.125:9300","192.168.56.109:9300"]
#配置可选master主机数 (master节点数/2)+1 = ,因为我配制两个节点建立集群。只有一个master 所以(1/2)+1 = 1;
discovery.zen.minimum_master_nodes:2
#当前节点设置为 开启master类型,如果是三个节点,那么可以在第二个节点开启 master;因为我这里两个节点所以在集群中配置一个master
node.master: false#当前节点设置为 开启: data 类型
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
3 JVM配置
vim /usr/local/elasticsearch-6.5.4/config/jvm.options
-Xms1g # JVM最大、最小使用内存
-Xmx1g
4 修改ES目录权限
chown -R es:es /usr/local/elasticsearch-6.5.4
chown -R es:es /var/log/elasticsearch/ # 以上操作都是为了赋予es用户操作权限
5 启动服务
# 需切换为es用户
su es
# 启动服务(当前的路径为:/usr/local/elasticsearch-6.5.4)
./bin/elasticsearch
# 后台运行ES
可以加入-p 命令 让es在后台运行, -p 参数 记录进程ID为一个文件
./bin/elasticsearch -p /tmp/elasticsearch-pid -d
6 结束进程
# 查看运行的pid
cat /tmp/elasticsearch-pid && echo
# 结束进程
kill -15 {pid}
7验证一下服务是否正常
curl -XGET "http://192.168.56.107:9200"
curl -i "http://192.168.56.107:9200"
测试
常用命令
- 查看ES节点状态
http://192.168.56.107:9200/
或
curl -XGET http://192.168.56.107:9200
*查看ES集群状态
curl -XGET http://192.168.56.107:9200/_cluster/health?pretty
安装 X-Pack插件
是一个安全、警报、监视报告的图形功能
1、安全防护功能:不想让别人直接访问你的 5601,9200
2、实时监控功能
3、生成报告功能