elasticsearch7集群搭建

本文介绍如何在三台服务器上安装配置Java Development Kit (JDK) 11及Elasticsearch 7.4,包括环境变量配置、文件权限设置、集群配置及常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jwt_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值