欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos7安装 Elasticsearch

程序员文章站 2022-07-04 23:48:01
...

 Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch

Elasticsearch具备以下特点:

  • 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)
  • Restful风格,一切API都遵循Rest原则,容易上手
  • 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

1.下载解压

[[email protected] leyou]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz

[[email protected] leyou]# tar -zxvf elasticsearch-6.2.4.tar.gz

注:elasticsearch需要jdk8以上的环境

注:出于安全考虑,elasticsearch默认不允许以root账号运行。故需要创建一个用户

2.创建用户

centos7下查看已有的用户和用户组

  • 查看用户:cut -d : -f 1 /etc/passwd
  • 查看用户组:cut -d : -f 1 /etc/group
  • 删除xxx这个用户:userdel -r xxx

2.1创建elasticsearch用户组

[[email protected] leyou]# groupadd elasticsearch

 2.2创建用户 leyou 并设置密码为leyou

[[email protected] leyou]# useradd leyou

执行创建用户后,系统可能显示-----useradd:警告:此主目录已经存在。不从 skel 目录里向其中复制任何文件。不必管它
[[email protected] leyou]# passwd leyou

 2.3把创建的用户leyou添加到elasticsearch用户组

[[email protected] ~]# usermod -G elasticsearch leyou

 2.4设置用户leyou权限

[[email protected] ~]# visudo

打开文件后,找到 root  ALL=(ALL) ALL 这一行,在这一行下面添加 leyou用户:

leyou  ALL=(ALL)  ALL

添加后,切换到leyou用户下。

[[email protected] ~]# su leyou

[ [email protected] ~]# 

创建用户后,修改elasticsearch文件权限

 [[email protected] leyou]# chown leyou:elasticsearch elasticsearch-6.2.4/ -R 

leyou:elasticsearch         leyou是用户,elasticsearch是组

执行后,能看到,elasticsearch-6.2.4 用户处变成了leyou。
drwxr-xr-x. 8 leyou elasticsearch 143 4月  13 2018 elasticsearch-6.2.4
drwxr-xr-x. 5 root  root          114 8月  18 23:53 fdfs

 3.修改配置

进入解压后的elasticsearch-6.2.4目录中的 config目录,需要修改两个配置文件 elasticsearch.yml 和 jvm.options

Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数

[[email protected] config]# vim jvm.options 

内容中默认配置:

‐Xms1g
‐Xmx1g

内存占用太多了,我们调小一些:

‐Xms256m
‐Xmx256m

这个就可以了,然后修改另一个

[[email protected] config]# vim elasticsearch.yml 

找到以下被注释的内容

#path.data: /path/to/data     # 数据目录位置

#path.logs: /path/to/logs     # 日志目录位置

打开注释,并修改路径,我是修改成elasticsearch安装目录下 data 和 logs,修改后的:

path.data: /home/leyou/elasticsearch/data 

path.logs: /home/leyou/elasticsearch/logs 

修改绑定的ip:

打开注释  #network.host: 192.168.10.1     修改成  network.host: 0.0.0.0

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

完成这三处修改,这个配置文件也就改好了。

修改elasticsearch.yml 配置文件时,path.data:和 path.logs: 我修改成elasticsearch安装目录下 data 和 logs目录。

默认elasticsearch安装目录下 是没有data目录的,有logs,所以手动创建个 data目录

[[email protected] elasticsearch]# mkdir data

创建目录后,再修改下当前目录的权限,把data目录权限也改成leyou用户的。下面命令中 -R前 还有个点

[[email protected] elasticsearch]# chown leyou:elasticsearch . -R

4.运行

运行时,[[email protected] elasticsearch] 必须切换到用户下[[email protected] elasticsearch]

第一个错误:

2019-08-22 03:16:26,465 main ERROR RollingFileManager 
(/home/leyou/elasticsearch/logs/elasticsearch.log) 
java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够) 
java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够)

原因:这是权限不足的问题。 
解决方法:切换到root 用户 切换到elasticsearch安装目录 给elasticsearch用户授权即可

第二个错误:

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]