Linux(CentOS7)下搭建elasticsearch集群,超详细

  • Post author:
  • Post category:linux


最近工作项目引入了的elasticsearch数据库,我被分配了搭建elasticsearch环境,本篇文章就来介绍如何搭建nacos集群



1. 环境准备


Linux系统

:CentOS7-2009

三台主机:
192.168.64.70
192.168.64.71
192.168.64.72


elasticsearch

:elasticsearch-7.6.2


JDK

:JDK1.8(ES需要依赖JDK1.8以上版本运行,安装ES前请确认机器安装好了JDK1.8以上)

elasticsearch下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

在这里插入图片描述

下载好后上传至每一台Linux服务器,作者是放在

/usr/local/

这个路径



2. elasticsearch集群搭建

上传好elasticsearch压缩包后就可以开始搭建了,执行以下操作

# 进入nacos上传目录
cd /usr/local/	
# 解压安装包
tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
# 解压好后进入nacos配置目录
cd elasticsearch-7.6.2
# 创建data目录(data目录后来用来设置保存数据路径,如果要保存在其他路径,
# 需要创建该目录保证该目录存在,不然会启动报错)
mkdir data
# 创建目录好后进入config
cd config
# 编辑jvm.options设置合理参数,参数如下图
vim jvm.options

在这里插入图片描述

修改好以后再修改elasticsearch.yml配置文件

# 编辑
vim elasticsearch.yml

修改以下内容,每台机器都要编辑

# 集群名称,同一集群下每台服务器的名称要一致否则会报错
cluster.name: my-elasticsearch
# 节点名称,集群下每台机的节点名称唯一(举例的机器节点名称设为node-1,其他分别为node-2,node-3)
node.name: node-1
# ES数据储存路径(保证该目录存在不存在则报错)
path.data: /usr/local/elasticsearch-7.6.2/data
# ES运行日志文件路径(保证该目录存在不存在则报错)
path.logs: /usr/local/elasticsearch-7.6.2/logs
# 外界访问ES ip地址(设置0.0.0.0表示可以通过该机器的任何ip访问)
network.host: 0.0.0.0
# ES的访问端口号(不设置则默认为9200)
http.port: 9200
# 集群下所有机器的访问ES的url集合
discovery.seed_hosts: ["192.168.64.70:9300", "192.168.64.71:9300", "192.168.64.72:9300"]
# 集群下所有节点集合
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

在这里插入图片描述

此时ES的配置就完成了,但是还不能启动,需要修改系统的一些参数

# 编辑
vim /etc/security/limits.conf
# 添加以下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

# 编辑
vim /etc/sysctl.conf
# 添加以下内容
vm.max_map_count = 262145
# 添加好后保存执行以下命令使配置生效
vim /etc/sysctl.conf

在这里插入图片描述
在这里插入图片描述

由于ES不能以root身份启动,所以我们需要切换到其他用户,没有其他用户可以创建一个,执行以下命令创建用户并启动

# 添加群组(这里命令admin)
groupadd admin
# 添加用户到指定群组(useradd -g 群组名 用户名 -p 密码)
useradd -g admin admin -p admin
# 授予admin用户ES目录下所有编辑权限
chown -R admin:admin /usr/local/elasticsearch-7.6.2
# 切换到admin用户
su admin
# 切换成功后进入ES目录下的bin目录
cd /usr/local/elasticsearch-7.6.2/bin
# 启动ES(-d表示后台启动)
./elasticsearch -d

启动后可能会出现以下情况,这个信息是建议使用java11,并不影响ES运行,可以不管

在这里插入图片描述

启动后可以通过 ip:9200 访问ES,出现以下页面则表示启动成功

在这里插入图片描述



3. elasticsearch设置开机自启

elasticsearch安装好后是需要我们手动启动的,如果需要设置开机自启按以下操作:

# 进入init.d目录
cd /etc/init.d
# 编辑elasticsearch
vim elasticsearch
# 添加以下内容
----------------------------------------
#!/bin/bash
#chkconfig: 345 63 37
#description: elasticsearch
#processname: elasticsearch-7.6.2

export ES_HOME=/usr/local/elasticsearch-7.6.2     # elasticsearch所在目录

case $1 in
        start)
                su admin<<!        # admin对应的是启动elasticsearch的账号
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
                ;;
        stop)
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                ;;
        restart)
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                sleep 1
                su admin<<!    # 启动elasticsearch的账户/用户
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
        ;;
    *)
        echo "start|stop|restart"
        ;;
esac
exit 0

----------------------------------------------

在这里插入图片描述

编辑好了以后再执行以下命令:

# 刚编辑的文件需要赋予权限
chmod -X elasticsearch 
# 添加到系统服务
chkconfig --add elasticsearch

此时ES添加到了系统服务,可以通过以下命令开启,关闭,重启


注意:以上操作完成后使用以下命令时先要把ES服务关闭,否则可能会命令操作失败

# 开启服务
service elasticsearch start
# 停止服务
service elasticsearch stop
# 重启服务
service elasticsearch restart

设置开机启动即可

chkconfig elasticsearch on



版权声明:本文为m0_67401660原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。