yuxing 发表于 2019-1-29 10:36:29

Elasticsearch 5常见问题解决方案

  安装运行

  1、前置安装java8
  jdk-8u112-linux-x64.rpm
  下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2、下载
  wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.zip
  3、解压
  unzip elasticsearch-5.1.1.zip
  4、运行
  ./bin/elasticsearch
  ./bin/elasticsearch -d          #后台运行
  tail -f logs/elasticsearch.log         #查看日志
  

  注:ES有执行脚本的能力,因安全因素,不能在root用户下运行,强行运行会报如下错误:
  org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
  解决方案:
  groupadd es          #增加es组
  useradd es -g es -p pwd          #增加es用户并附加到es组
  chown -R es:es elasticsearch-5.1.1          #给目录权限
  su es          #使用es用户

  ./bin/elasticsearch -d          #后台运行es

  

  外网访问
  vi conf/elasticsearch.yml
  修改network.host: 0.0.0.0
  再次启动linux可能出现如下类似错误

  bootstrap checks failed
  max file descriptors for elasticsearch process is too low, increase to at least
  解决方案
  1、vi /etc/sysctl.conf
  设置fs.file-max=655350
  保存之后sysctl -p使设置生效
  2、vi /etc/security/limits.conf 新增
  * soft nofile 655350
  * hard nofile 655350
  3、重新使用SSH登录,再次启动elasticsearch即可。
  外网访问:serverip:9200/
  

  安装elasticsearch-head插件
  elasticsearch 5以后的版本比较新,不支持直接安装head插件,以下是github上提供的安装方法,如下图示
http://img.blog.csdn.net/20161227201819450?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFvdG91bW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

  以下为我自己整理的方法,参考来源:http://blog.csdn.net/qq942477618/article/details/53637817

  1、下载head插件

wget https://codeload.github.com/mobz/elasticsearch-head/zip/master

2、下载nodejs

nodejs官网下载地址https://nodejs.org/dist/

wget https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz

3、配置node环境变量

xz –d node-v6.9.2-linux-x64.tar.xz
tar –xvf node-v6.9.2-linux-x64.tar
mv node-v6.9.2-linux-x64 /alidata/app/node

vim /etc/profile
export NODE_HOME=/alidata/app/node
export PATH=$PATH:$NODE_HOME/bin
source /etc/profile

# node –v
v6.9.2
# npm –v
3.10.9

4、安装grunt

cd elasticsearch-head-master
npm install -g grunt --registry=https://registry.npm.taobao.org

5、测试一下

cd elasticsearch-head-master
grunt

出现以下提示,为Gruntfile.js引用的,缺少以下包

>> Local Npm module "grunt-contrib-clean" not found. Is it installed?
>> Local Npm module "grunt-contrib-concat" not found. Is it installed?
>> Local Npm module "grunt-contrib-watch" not found. Is it installed?
>> Local Npm module "grunt-contrib-connect" not found. Is it installed?
>> Local Npm module "grunt-contrib-copy" not found. Is it installed?
>> Local Npm module "grunt-contrib-jasmine" not found. Is it installed?
Warning: Task "connect:server" not found. Use --force to continue.

Aborted due to warnings.

安装

npm install grunt-contrib-clean --registry=https://registry.npm.taobao.org

npm install grunt-contrib-concat --registry=https://registry.npm.taobao.org

npm install grunt-contrib-watch --registry=https://registry.npm.taobao.org
npm install grunt-contrib-connect --registry=https://registry.npm.taobao.org
npm install grunt-contrib-copy --registry=https://registry.npm.taobao.org
npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org

6、运行

grunt server


7、测试

http://serverip:9100/

修改head目录下的Gruntfile.js配置,head默认监听127.0.0.1

vm Gruntfile.js

hostname: '0.0.0.0',

8、为es设置跨域访问

vi config/elasticsearch.yml         #新增两行

http.cors.enabled: true

http.cors.allow-origin: "*"

9、启动es,启动head插件
  




页: [1]
查看完整版本: Elasticsearch 5常见问题解决方案