ES的安装

1.Elastic search的安装

环境安装步骤:
1.需要安装JAVA环境,是因为Elastic Search是用java开发的。
2.安装ES和Kibana
  • ES的图形化界面是Kibana。
  • 注意安装时,ES和Kibana的版本一定要匹配,最好安装相同的版本号。
3.安装ES的分词库IK
  • 注意安装时,ES和IK分词器的版本一定要匹配,最好安装相同的版本号。
  • 安装IK分词器之后,需要重启ES

具体安装详情:

1 前言

Java中比较流行的搜索引擎是Elasticsearch,传统的数据库搜索,使用like’关键字%’,当内容过多时性能会大大降低,所以Elasticsearch就出现了。

下面,记录下Linux下Elasticsearch的安装过程。

2 Linux下安装Elasticsearch

2.1 下载和解压安装

包官网下载地址: https://www.elastic.co/cn/downloads/elasticsearch

选择合适的版本下载,然后上传到Linux中。

 

 

也可以在Linux命令行,直接执行以下命令进行下载(下载比较慢):

cd ~/software/es

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz

执行解压缩命令:

tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz

2.3 解决内存不足问题

由于 elasticsearch 默认分配 jvm空间大小为2g,修改 jvm空间,如果Linux服务器本来配置就很高,可以不用修改。

error:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c6a00000, 962592768, 0) failed; error='Not enough space' (errno=12)
        at org.elasticsearch.tools.launchers.JvmOption.flagsFinal(JvmOption.java:119)
        at org.elasticsearch.tools.launchers.JvmOption.findFinalOptions(JvmOption.java:81)
        at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:38)
        at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:13

 

进入config文件夹开始配置,编辑jvm.options:
vim ~/software/es/elasticsearch-7.13.2/config/jvm.options

默认配置如下:
-Xms2g
-Xmx2g
默认的配置占用内存太多了,调小一些:
-Xms256m
-Xmx256m

2.4 创建专用用户启动ES

root用户不能直接启动Elasticsearch,所以需要创建一个专用用户,来启动ES

创建用户
useradd user-es

创建所属组:
chown user-es:user-es -R /usr/local/elasticsearch-7.13.2

切换到user-es用户
su user-es

进入bin目录
cd ~/software/esl/elasticsearch-7.13.2/bin

启动elasticsearch
./elasticsearch

如果出现如下错误信息(最大文件数太小、线程太小、内存太低):

 

2.5 修改ES核心配置信息

执行命令修改elasticsearch.yml文件内容
vim ~/software/es/elasticsearch-7.13.2/config/elasticsearch.yml

修改数据和日志目录
这里可以不用修改,如果不修改,默认放在elasticsearch根目录下

 修改绑定的ip允许远程访问:

 初始化节点名称:

再加上: node.master: true

 

 修改端口号(非必须): 如果不修改,默认端口就是9200

 

2.6 vm.max_map_count [65530] is too low问题

上面几个步骤依然没启动成功,继续解决问题:

 

ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

elasticsearch用户拥有的内存权限太小,至少需要262144,解决办法:
在 /etc/sysctl.conf 文件最后添加如下内容,即可永久修改:

切换到root用户
执行命令:su root

执行命令
vim /etc/sysctl.conf

添加如下内容
vm.max_map_count=262144

保存退出,刷新配置文件
sysctl -p

切换user-es用户,继续启动
su user-es

启动es服务
~/software/es/elasticsearch-7.13.2/bin/elasticsearch

如果root用户修改sysctl.conf文件提示Operation not permitted的解决办法:

sudo -i #或者su root 切换成root账号
cd /etc
sudo chattr -i sysctl.conf
#。。。。然后再执行上面的系应该 sysctl.conf文件内容的命令
。。。

修改之后再加载sysctl.conf即可:
sudo sysctl -p

 

 启动成功后,可以通过http://127.0.0.1:19200/访问,如果出现以下内容,说明ES安装成功:

 

2.7 可能遇到的max file descriptors [4096]问题

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

切换到root用户,执行命令:
vi /etc/security/limits.conf

添加如下内容:

 然后重启linux。

 

2.8 ES服务的启动与停止


前台运行,Ctrl + C 则程序终止
/usr/local/elasticsearch-7.13.2/bin/elasticsearch

后台运行
~/software/es/elasticsearch-7.13.2/bin/elasticsearch -d
出现started时启动完成!

关闭ES服务:kill pid

说明:
Elasticsearch端口9300、9200,其中:
9300是tcp通讯端口,集群ES节点之间通讯使用,9200是http协议的RESTful接口

 

Elasticsearch在linux下使用命令sh elasticsearch start,按键ctrl+c的时候程序就会stop掉,如何将程序在后台启动呢?
需要使用:./elasticsearch -d
这时执行的时候会出现没有权限./elasticsearch: Permission denied
需要授权执行命令:chmod +x bin/elasticsearch
再次执行./elasticsearch -d即可启动
使用ps aux|grep elasticsearch可以查看是否启动

 

 

参考博客:https://blog.csdn.net/smilehappiness/article/details/118466378

posted @ 2024-02-07 14:46  苹果芒  阅读(46)  评论(0编辑  收藏  举报