基于centos6.5安装ElasticSearch

前面我们讲述了solr的安装搭建过程,今天讲讲ElasticSearch,ElasticSearch是另一款作为分词和搜索的服务器,相比solr,ElasticSearch在做大数据方面更有优势,因为其天然支持分布式,而且其强大的分词技术使得其在众多需要处理大数据量的业务中低位逐渐拔高,像大数据中做日志的提取和分析,使用ElasticSearch很适合,实际工作中,ElasticSearch主要是在linux环境下跑的,尽管windows也支持,但使用中问题不少,而且不够稳定,下面演示在centos6.5环境下搭建单节点的ElasticSearch过程;

安装环境准备:jdk1.8以上,elasticsearch-6.2.2.tar.gz

1)安装JDK,本次安装的目录位置为 /usr/local/software下,JDK安装很简单,下载安装包,解压,然后配置一下基本的环境变量,即可,

2)使用wget 下载elasticsearch安装包
创建一个temp文件夹,该目录为ES的安装目录,也可以自己指定
mkdir temp;
cd temp;

下载完毕,解压文件,
tar -zxvf elasticsearch-6.2.2.tar.gz
解压完毕,进入ES的bin目录,
这里写图片描述

bin目录下存放着启动的相关文件,linux下的启动文件就是第一个,直接启动,一般会报错,主要是两种错误,
第一种错误会报出内存不足,这就要求安装ES所在的服务器的内存至少在2G以上,第二种错误是权限问题,ES启动的时候不能使用root用户,即普通用户启动,此时需要新创建一个用户,并为这个用户赋予访问ES目录的权限,在ES所在的目录下,为这个文件夹赋予权限:
这里写图片描述

新增一个普通用户,并设置密码,
这里写图片描述

切换到新增的用户,再进入到ES的bin目录下,启动,此时看到下面的结果,说明启动成功,

这里写图片描述

新开一个窗口,输入命令:curl localhost:9200,看到如下结果,说明ES服务器成功启动,
这里写图片描述

到这里,ES的搭建过程基本结束,其实只要掌握了基本的安装步骤安装即可成功,但初次安装的时候,肯定会踩不少坑,而且不容易发现,下面罗列安装过程中主要的几个问题,以此方便看到的小伙伴们在此不会再采坑了,

配置es出现相关问题处理:

1、问题一
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error=’Cannot allocate memory’ (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/software/temp/elasticsearch-6.2.2/hs_err_pid1912.log
解决:内存不够,购买阿里云的机器可以动态增加内存

2、问题二
[root@iZwz95j86y235aroi85ht0Z bin]# ./elasticsearch
[2018-02-22T20:14:04,870][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.2.jar:6.2.2]
解决:用非root用户
添加用户:useradd -m 用户名 然后设置密码 passwd 用户名

3、问题三
./elasticsearch
Exception in thread “main” java.nio.file.AccessDeniedException: /usr/local/software/temp/elasticsearch-6.2.2/config/jvm.options
解决:权限不够 chmod 777 -R 当前es目录

本篇到此结束,后续将介绍ES的具体使用!敬请关注

猜你喜欢

转载自blog.csdn.net/zhangcongyi420/article/details/82623447