一、安装jdk11(es7必须使用jdk11)
官网源码下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html。[jdk-11.0.9_linux-x64_bin.tar.gz]
1 解压安装包,重命名为jdk11
tar -zvxf jdk-11.0.9_linux-x64_bin.tar.gz
sudo mv jdk-11.0.9 /usr/local/jdk11
2 配置环境变量
sudo vim /etc/profile
export JAVA_HOME=/usr/local/jdk11
export JRE_HOME=$JAVA_HOME/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
3 验证
java -version
4 在node01上装完jdk之后,对node02和node03进行分发
sudo scp -r /usr/local/jdk11 root@192.168.98.133:/usr/local/jdk11
sudo scp -r /usr/local/jdk11 root@192.168.98.132:/usr/local/jdk11
**二、安装es7.4 **
官网源码下载地址 https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-4-2
规划:
节点:三台服务器 192.168.98.131(node01) 192.168.98.132 (node02) 192.168.98.133(node03)
用户:普通用户 jwt
1 解压安装包,并移动到usr/local下
tar -xvf elasticsearch-7.4.2-linux-x86_64.tar.gz
sudo mv elasticsearch-7.4.2 /usr/local/elasticsearch7
把当前目录的所有人赋给当前用户
sudo chown -R jwt:jwt /usr/local/elasticsearch7
sudo chmod 760 /var/data/elasticsearch7
2 配置
解压完之后配置文件在config目录下
1) jvm.options
先备份
cp jvm.options jvm.options.bak
然后修改
vim jvm.options
# 把垃圾收集器从CMS改成G1
-XX:+UseG1GC
-XX:MaxGCPauseMillis=50
2)elasticsearch.yml
先备份
cp elasticsearch.yml elasticsearch.yml.bak
然乎修改elasticsearch.yml中所有内容如下:
name: demo-cluster #集群名称,相同名称为一个集群
node:
name: node01 #当前节点名称,每个节点名称唯一
master: true #当前节点是否可以被选举为master节点
data: true #当前节点是否用于存储数据
path:
logs: /var/log/elasticsearch #日志文件存放的位置
data: /var/data/elasticsearch #索引数据存放的位置
network.host: 192.168.98.131 #当前节点地址
http.port: 9200 #当前节点对外暴露的http端口
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.98.131:9300","192.168.98.132:9300","192.168.98.133:9300"]`
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node01"]
3 分发,对其余两台机器进行分发
sudo scp -r /usr/local/elasticsearch7 root@192.168.98.132:/usr/local/elasticsearch7
sudo scp -r /usr/local/elasticsearch7 root@192.168.98.133:/usr/local/elasticsearch7
分发完需要修改各自的elasticsearch.yml,将node.name和network.host改为自己的
# 这三台机器都需要修改对应的目录的主为当前用户
sudo chown -R jwt:jwt /usr/local/elasticsearch7
sudo chmod 760 /var/data/elasticsearch
# 将目录/var/data/elasticsearch 及其下面的所有文件、子目录的文件主改成 jwt
sudo chown -R jwt:jwt /var/data/elasticsearch
#给目录设置权限
sudo chmod 760 /var/data/elasticsearch
# 将目录/var/log/elasticsearch 及其下面的所有文件、子目录的文件主改成 jwt
sudo chown -R jwt:jwt /var/log/elasticsearch
#给目录设置权限
sudo chmod 760 /var/log/elasticsearch
4 测试以及注意事项
1)安装过程当中需要关闭防火墙,或者根据防火墙.md文件中的相关命令,开启以及关闭相应的端口号
2)启动报错问题
2.1) max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量
ulimit -Hn
ulimit -Sn
修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
* soft nofile 65536
* hard nofile 65536
2.2) max number of threads [3818] for user [es] is too low, increase to at least [4096]
问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf(和问题2.1是一个文件),增加配置
* soft nproc 4096
* hard nproc 4096
可通过命令查看
ulimit -Hu
ulimit -Su
2.3) max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
vim /etc/sysctl.conf
sysctl -p
执行命令sysctl -p生效
3)最后从bin目录分别启动三个节点
./ elasticsearch
访问 http://192.168.98.131:9200/_cat/nodes 可以查看到三个节点
停掉master会自动选举一个为master
官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/setup.html