【Elasticsearch】CentOS7安装Elasticsearch服务过程记录

近期重新梳理学习Elasticsearch,在CentOS7最小化镜像安装的系统中遇到了不少问题,现将安装流程记录。并将前端可视化管理插件Elasticsearch-head安装遇到的问题也一并整理。

安装前的准备工作

1.由于Elasticsearch使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能。在安装Elasticsearch之前,需要安装JDK8环境(如果是7.x版本将包含JDK环境,则可以忽略JDK8安装)

①安装JDK环境(或者只安装JRE环境)

yum install java-1.8.0-openjdk-devel  

( 或者yum install java-1.8.0-openjdk  )

2.如果是以下载zip包安装的方式,解压zip包需要使用unzip。

①CentOS7最小化安装中没有unzip命令,需要另外安装

yum install unzip

3.安装vim命令

yum install vim

开始安装

1.远程下载Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip

2.对zip包解压

unzip elasticsearch-5.5.1.zip

3.启动Elasticsearch

./bin/elasticsearch

在这一步中直接启动将会有错误,需要调整linux的一些相关配置项才可以正常启动

 

启动Elasticsearch时报错

以下将笔者安装过程中遇到的错误罗列出来:

1.root用户下不能启动Elasticsearch

[o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]

org.Elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run Elasticsearch as root

解决方法:

Elasticsearch不允许使用root用户启动。

由于Elasticsearch可以远程接收用户输出的执行脚本,具有安全隐含,需要限制指定文件夹权限。

分以下几步进行:

①单独为Elasticsearch服务添加用户(user_es为自定义用户名):

adduser user_es   
passwd user_es

 

②添加完用户之后,需要限定文件夹的归属权

格式:chown -R 用户名 文件夹名

chown -R user_es ../../Elasticsearch-5.5.1

将这几个压缩包所在的文件夹及解压完的文件夹权限给你新建的用户。

切换到新用户启动Elasticsearch。

③root用户切换到普通用户(-f免密切换):

 login -f user_es 

(

普通用户切换到root用户:sudo su,需要事先给普通用户配置sudo权限。

打开/etc/sudoers配置文件,

在”root  ALL=(ALL)    ALL”下增加一行 “user_es  ALL=(ALL)    ALL” 

)

 

④启动Elasticsearch

./bin/Elasticsearch

先以非后台开启服务,便于观察启动是否报错

(后台启动添加参数 -d:./bin/Elasticsearch -d)

 

2. 最大文件数错误

max file descriptors [4096] for Elasticsearch process is too low, increase to at least [65536]

解决方法:

修改linux最大打开文件数

sudo vim /etc/security/limits.conf

在该配置文件中增加:

user_es nofile 65536

user_es hard nofile 65536

保存后退出并重新登录user_es账号

ulimit -Hn

 

3.最大虚拟内存错误

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方法:

临时处理办法(系统重启后失效):

sudo sysctl -w vm.max_map_count=262144

永久处理办法:

sudo echo "vm.max_map_count=262144" > /etc/sysctl.conf

查看配置是否生效:

sysctl -p

 

允许被远程访问需要配置yml文件项

配置文件说明(../Elasticsearch解压目录/config/Elasticsearch.yml):

由于Elasticsearch默认只允许localhost主机访问,远程访问需在配置文件中去掉主机限制。

network.host: 0.0.0.0

 

---------------------------------------------------------------------------------------------------------------------------

 

安装实用的Elasticsearch-head管理插件

1.需要配合nodejs环境使用,首先安装node环境

执行安装nvm工具(允许自由切换nodejs环境):

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

激活nvm

source ~/.nvm/nvm.sh

激活完成后,安装node

nvm install node

查看node是否生效:

node -v

查看npm是否生效:

npm -v

2.远程下载Elasticsearch-head管理插件:

wget https://github.com/mobz/Elasticsearch-head/archive/master.zip

 

3.解压

unzip master.zip

4.进入package.json所在目录并执行

npm install

 

npm安装过程中报错

1.可能由于文件夹的权限问题无法写入文件或者解压失败的问题

Failed at the phantomjs-prebuilt@2.1.14 install script 'node install.js'.

解决方法:

①.权限问题

sudo npm install

②.安装bzip2命令(centos7最小化安装的系统会有这个问题)

yum install bzip2

 

Elasticsearch跨域访问

由于Elasticsearch与Elasticsearch-head是两个独立的服务器进程,需要配置Elasticsearch服务允许跨域才可以访问

vim ../Elasticsearch解压目录/config/Elasticsearch.yml

增加以下配置(注意空格):

 

http.cors.enabled: true

http.cors.allow-origin: "*"

配置完后需要重启Elasticsearch服务

 

1.启动Elasticsearch-Head服务

进入package.json所在目录执行

npm run start

根据提示访问:http://远程主机ip:9200

进入Elasticsearch可视化页面时需要注意远程访问的地址要更改为远程主机的ip

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值