ES搜索框架--ES部署到Centos8服务器

参考:

https://blog.csdn.net/Me_xuan/article/details/114608076

https://www.cnblogs.com/chenxitag/p/12320868.html

一、下载安装

1.下载ES

使用elasticsearch7.10.2,到官网下载对应的linux包,然后上传到服务器文件夹下,cd到文件夹后使用tar命令解压

image

tar -xvf elasticsearch-7.10.2-linux-x86_64.tar.gz

image

2.下载JDK

详细步骤:https://www.cnblogs.com/Studywith/p/17255339.html

这个版本依赖于JDK11,因为后面项目的需求选择了JDK16,(当下载新的JDK版本时,linux的JDK自动切换为新的版本,也可以在系统文件进行JDK的配置以指定版本),到官网下载后上传,cd到对应文件夹下使用rpm安装

rpm -ivh jdk-16.0.2_linux-x64_bin.rpm

**3.修改ES配置

(1)elasticsearch.yml

(2)jvm.options

这里是因为我的服务器内存太小了,只有2G,而且还跑了MySQL,剩余内存勉勉强强1G

free -h

image

而elasticsearch的默认运行内存就是1G,导致它不能正常启动

cd /user/es/elasticsearch-7.10.2/bin
./elasticsearch  #启动失败
netstat -anp | grep 9200  #查看端口无进程

image

于是修改jvm.options文件,其中将-Xmx(堆内存)和-Xms(初始堆内存)由1g修改为256m(这样会导致es的搜索效率降低,但暂时也没办法了)

cd ../config
vim jvm.options

image

保存后退出尝试启动es,报错不能使用root账户启动:es不允许使用root用户启动,需要创建一个单独的用户用来运行es。

image

(3)创建es用户

# 创建用户组和用户
groupadd esgroup
useradd es -g esgroup -p cq2003
# 更改 elasticsearch-7.10.2 文件夹及内部文件的所属用户及组为设置
chown -R es:esgroup /user/es/elasticsearch-7.10.2
# 切换用户并启动 elasticsearch
su es
cd /user/es/elasticsearch-7.10.2/bin/
./elasticsearch

成功启动

image

es重启应该是可以使用

systemctl 【restart|status|stop】 elasticsearch和

service elasticsearch 【restart|status|stop】

这样的命令来完成的,但是我的不知道为啥不行,就没用,

1.在命令行可以用ctrl+c退出

2.可以使用netstat -anp | grep 9200 监听9200端口然后找到对应PID,再kill PID

3.切换到root账户,reboot重启服务器。。(不推荐)

image

这里加上-d后缀就可以在后台启动es了

二、ES测试

image

解决:

1.将9200,9300端口添加到阿里云的安全组,开放端口

2.报错内存权限不足:

image

参考:https://www.cnblogs.com/brady-wang/p/11307877.html

在 /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144

image

3.测试:

访问服务器9200端口,成功

image

使用curl命令,成功:

image

ApiPost发送测试创建索引,成功:

image

Java连接调用查看索引,成功:

image

快速启动:

su es
cd /user/es/elasticsearch-7.10.2/bin
./elasticsearch -d  #后台启动

三、导入分词器

同上,只是换成使用tar包

四、项目转移

猜你喜欢

转载自blog.csdn.net/qq_51641196/article/details/130037731
今日推荐