最近工作项目引入了的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