1. 版本校验
因为es和jdk的版本对应比较严格,所以在要下载相对应的版本
版本对应查询链接:支持矩阵 | Elastichttps://www.elastic.co/cn/support/matrix#matrix_jvm
页面是这个样子
2. 下载es
两种方案
一个是区官网直接下载 tar.gz包,拖进你的linux里面,地址 Download Elasticsearch | ElasticDownload Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic.https://www.elastic.co/cn/downloads/elasticsearch
另一个是直接用wget命令下载 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.6.1-linux-x86_64.tar.gz,根据需要的版本自己修改命令中的版本号
我是将下载下的包放在了 usr/local/tool/es 目录下了,下载之后 tar zxvf命令解压
3. 配置es
(1) 添加es用户,因为es不能用root用户启动,并赋予权限,命令如下
groupadd esgroup
useradd es -p 123456
chown -R es:esgroup /usr/local/tool/es/elasticsearch-8.6.1
(2) 关闭es认证和http加密
在es里面的config目录下找到elasticsearch.yml文件修改其中的配置,将其中两项的true改为false,如下
cd /usr/local/tool/es/elasticsearch-8.6.1/config
vim elasticsearch.yml
修改箭头指向位置的true为false,并在最后添加红框里的配置
ingest.geoip.downloader.enabled: false
http.cors.enabled: true
http.cors.allow-origin: "*"
保存后退出
4. 防火墙设置
如果有规定服务器防火墙要开启,那向防火墙中添加9200端口,并重启防火墙
firewall-cmd --zone=public --add-port=9200/tcp --permanent
service firewalld restart
如果没有规定需要开启防火墙,则直接将防火墙关闭即可
先用命令查看状态
systemctl status firewalld
出现Active: active (running)绿色高亮显示 则表示是开启状态
出现 Active: inactive (dead)灰色表示关闭状态
关闭和开启防火墙的命令
开启 service firewalld start
重启 service firewalld restart
关闭 service firewalld stop
5. 启动es看是否能成功
切换es用户并启动(es这玩意启动的时候得用新创建的es用户,改配置的时候切回root用户,就是这么任性)
su es
cd /usr/local/tool/es/elasticsearch-8.6.1/bin
./elasticsearch
红框里面的分别为es的初始密码 和 kibana的token(这个token不装kibana不用管),先记住这个密码,后面说怎么修改
启动成功后,浏览器访问9200端口
看到这些信息说明没什么问题了
6. 设置es开机自动启动
su root
cd /etc/init.d/
vim elasticsearch (新建文件)
接这将下面的内容粘贴进文件保存
export ES_HOME=/usr/local/tool/es/elasticsearch-8.6.1
case $1 in
start)
su es
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 esuser
cd $ES_HOME
./bin/elasticsearch -d -p pid
exit
!
echo "elasticsearch is started"
;;
*)
echo "start|stop|restart"
;;
esac
exit 0
保存后给文件赋权限
chmod 777 elasticsearch
将es添加到系统服务
chkconfig --add elasticsearch
chkconfig --del elasticsearch(这是删除系统服务,如不想要了,可以删除)
es启停命令
启动服务 service elasticsearch start (现在用这个命令启动服务)
停止服务 service elasticsearch stop
重启服务 service elasticsearch restart
开启启动服务命令
开启开机自启服务 chkconfig elasticsearch on
关闭开机自启服务 chkconfig elasticsearch off
7. 重新开启密码验证
之前为了测试es能否正常启动,将elasticsearch.yml中的xpac验证关掉了,现在为了安全重新开启验证
cd /usr/local/tool/es/elasticsearch-8.6.1/config
vi elasticsearch.yml
将之前修改的false再改为true,重新启动es,然后用浏览器访问9200端口,发现需要填写用户名和密码了
这个用户名和密码在最开始测试启动的时候有出现过,上面已经告诉了要将密码复制下来存起来,填写进去就会登陆成功
8. 修改这个自动生成的密码
cd /usr/local/tool/es/elasticsearch-8.6.1/bin/
./elasticsearch-reset-password -u elastic -i
接着输入y 然后填写两次新密码就完成了,改完密码不需要重启即可生效