由于项目需求,需要在linux平台搭建一套ES服务。在搭建过程中,遇到各种各样的问题。后来都一一解决。现在要记录下来这个过程,以及其中遇到的问题,及其解决方法。
一、环境配置
操作系统:Cent OS 7
ElasticSearch版本:1.4.1
JDK版本:1.7
SSH Secure Shell版本:3.2.9
elasticsearch-servicewrapper :ES的服务插件,一般在linux上使用。
二、操作过程
1. elasticsearch 作为一个系统service应用 ,可以安装 elasticsearch-servicewrapper 插件。
在 https://github.com/elasticsearch/elasticsearch-servicewrapper 下载该插件后,解压缩。将service目录拷贝到elasticsearch目录的bin目录下。运行这个插件的好处是:elasticsearch需要的jvm参数和其它配置都已经配置好了,非常方便。
2. 通过SSH Secure Shell连接工具,将ES和Sevice文件夹上传到linux系统相应目录。
3. 在linux环境,进入ES目录的bin/service目录,如下图,运行命令sh elasticsearch start
4. 安装es-head插件
进入elasticsearch/bin目录,输入命令./plugin –install mobz/elasticsearch-head 安装head插件。如图
5. 在浏览器中输入 http://localhost:9200 , http://localhost:9200/_plugin/head/ 如下图所示则ES启动成功。
6.若是要停止ES服务,则输入sh elasticsearch stop,则输出如下图,则ES成功停止。
三、遇到的问题及其解决方法
1. 在linux上启动ES时与plugin命令安装ES-Head插件时,都出现了如下问题。此处以plugin作为例子,来给出解决方法。
发现这个问题,就用ls -l命令来查看文件的操作权限,如图
附:文件的权限
r — 文件可以被读取
w — 文件可以被写入
x — 文件可以被执行(如果它是程序的话)
可见,plugin文件,所有者只有读和写的权限,没有执行的权限。 所以需要给这个文件加上可被执行的权限。
应用命令chmod +x plugin 来操作
再输入ls –l 来查看,已经具有了X权限
此时再plugin安装插件head,则可以正常安装。
2. 运行es,会提示错误,类似一些version error的错误。JDK版本若不是7,可能会出现ES启动不起来的问题。linux 自带的opensdk7 也最好不要使用。
Elasticsearch依赖Java 7。推荐使用Oracle JDK 1.7.0_55版本 。Java的安装,在各个平台上都有差异,所以我们不想在这里深入太多细节。我只想说,在你安装Elasticsearch之前,你可以通过以下命令来检查你的Java版本(如果有需要,安装或者升级): java –version
3.JDK7安装后,系统就会具有两个版本的java,为了确保调用JAVA7版本,需要修改环境变量, 保证java7的路径在最前面。
输入命令:vim ~/.bashrc 打开环境变量内容: