在linux系统上(Centos)安装Elasticsearch详细教程

1.Elasticsearch简介
ElasticSearch是一个基于Lucene的搜索服务器。什么是Lucene? 就是一个jar包,里面包含了封装好的各种倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外,我们也可以用lucene提供的一些功能和api来针对磁盘上进行操作。ElasticSearch最大的好处就是解决实时问题。
2.Elasticsearch安装
由于各种问题,选择5.5.2版本,下载地址为:
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz
成功之后,进行安装

tar -zxvf elasticsearch-5.5.2.tar.gz

3.启动Elasticsearch

 sh /usr/local/elasticsearch-5.5.2/bin/elasticsearch

启动失败报如下错误

问题一:jdk 版本过低问题:
在这里插入图片描述
解决问题如下:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载版本后,上传到对应的目录;

  rpm -ivh jdk-8u45-linux-x64.rpm

解压完成之后,jdk会安装在/usr/java/jdk1.8.0_45,在对应目录查看,如果存在,说明安装成功,修改环境变量。

vi /etc/profile  

将对应的路径修改为最新的,最后将配置文件生效;

source /etc/profile

通过java -version 来查看jdk 最新的版本验证是否正确;

问题二: 非root用户安装:在linux系统上(Centos)安装Elasticsearch详细教程_第1张图片
解决问题如下:
在linux系统上(Centos)安装Elasticsearch详细教程_第2张图片

问题三: nested: AccessDeniedException[/usr/local/elasticsearch-5.5.2/config/elasticsearch.yml];
在这里插入图片描述

解决问题如下:

切换用户为root ,给用户 testuser 赋予权限

chown -R testuser:testuse /usr/local

问题四:
在linux系统上(Centos)安装Elasticsearch详细教程_第3张图片
解决办法如下:
1>
max number of threads [1024] for user [*] is too low, increase to at least [2048]
修改 /etc/security/limits.d/90-nproc.conf

  *     soft    nproc     1024
  *     soft    nproc     2048

2>
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf配置文件

vm.max_map_count = 2621441

添加到文件最后,将配置文件生效。(如果启动有问题,请重新启动服务器)

sudo sysctl -p /etc/sysctl.conf

3>
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
修改/etc/security/limits.conf配置文件,添加如下两行代码:

  *      hard    nofile           65536
  *      soft    nofile           65536

问题五:修改Elasticsearch外网访问;
修改配置文件/usr/local/elasticsearch-6.0.0/config/elasticsearch.yml为本机ip地址

network.host : ip地址
http.post:9200

问题六:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk;

原因如下:
Centos6.5系统下安装Elasticsearch,而Centos6不支持SecComp,再次检查
/usr/local/elasticsearch-6.0.0/config/elasticsearch.yml中bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决办法如下:

vi /usr/local/elasticsearch-6.0.0/config/elasticsearch.yml

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

问题七:es启动浏览器无法访问:
一般出现在防火墙开启的问题上:

service iptables status
service iptables stop

在linux系统上(Centos)安装Elasticsearch详细教程_第4张图片

问题八: 后台启动ES

 sh /usr/local/elasticsearch-5.5.2/bin/elasticsearch -d 

如有问题,请留言。。。

你可能感兴趣的:(ES)