elasticsearch-head(elastics6.1.1)的安装 - melody_sy博客 - CSDN博客

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/s740556472/article/details/78995843

前言

elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。在网上看到两种安装方式,一种是通过elasticsearch本身的插件集成进行安装(这种方式好像不适用新版,我并没有研究出来怎么安装。。。),还有一种是利用npm和nodejs进行安装启动,这种方式相当于独立的一个进行去发布了这个插件,而github中给出的安装方法也是这种,所以新版的elasticsearch,我推荐用这种方式去安装。。
而最新版(elasticsearch6.1.1)的elasticsearch-head插件安装需要各种环境,安装得也不是一番丰顺,特此记录一下。

若有错误,还望指出!

环境

  1. linux虚拟机,centos7
  2. elasticsearch-head的zip包,github网址如下:https://github.com/mobz/elasticsearch-head
  3. nodejs的linux对应位数下载:https://nodejs.org/en/download/

如下图,这个是二进制已经编译好的压缩包,我在虚拟机中下载的就是这个。

这里写图片描述

安装

解压后如下图所示:

进入bin中可以看到最下面的三个可执行文件

这里写图片描述

#如何检查是否安装成功了呢?此处有两个命令
一定要cd到bin的目录下进行操作,因为你的/user/bin下并没有配置相关的软连接
./node -v
./npm -v

此处第一个node的命令可以顺利执行,不会报错,而执行./npm -v会报错如下:

/usr/bin/env: node: 没有那个文件或目录

此时需要配置环境变量即可,修改/etc/profile,行尾追加如下命令

#第一个是你安装的node路径
export NODE_HOME=/opt/nodejs/node-v8.9.4-linux-x64/
export PATH=$PATH:$NODE_HOME/bin 
export NODE_PATH=$NODE_HOME/lib/node_modules
#执行此命令让其生效
source /etc/profile

上面的操作都做完后,在执行查看版本命令即可查出。

[root@192 bin]# ./node -v
v8.9.4
[root@192 bin]# ./npm -v
5.6.0

到这里,npm和nodejs算是安装成功了!继续回归我们的elasticsearch-head插件的安装。

进入到elasticsearch-head主目录,如下图:

这里写图片描述

在此处运行:

npm install 

它会自动的从相应的地址进行下载对应的依赖包,从而放入到node_modules中去。。。
地址下载慢的问题:

#使用淘宝的镜像库进行下载,速度很快
npm config set registry https://registry.npm.taobao.org

安装过程中出现错误:

Please report this full log at https://github.com/Medium/phantomjs

npm ERR! Darwin 15.0.0

npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"

npm ERR! node v4.4.3

npm ERR! npm  v3.10.9

npm ERR! code ELIFECYCLE

npm ERR! phantomjs-prebuilt@2.1.14 install: `node install.js`

npm ERR! Exit status 1

npm ERR! 

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

解决方案如下:

#忽略脚本继续进行安装
npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts

最终安装成功!成功后当前目录多了一个node_modules文件夹。。

启动head插件

第一步先不要着急启动,因为我是用虚拟机进行的搭建,所以希望的是本机也可以进行对应的ip网址访问,于是经各种查询探索,有2处需要注意:

  • 修改Head主目录下的Gruntfile.js
  • 修改elasticsearch下的配置文件

①先说修改Gruntfile.js

打开这个js文件找到如下图所示的地方,默认文件中是没有hostname属性的,我们需要手动添加。

这里写图片描述

connect: {
          server: {
                   options: {
                        port: 9100,
                        base: '.',
                        keepalive: true,
                        hostname: '*'
                    }
          }
  }

修改后别忘了保存。。

②修改elasticsearch 的启动配置文件

[elsearch@192 config]$ vim elasticsearch.yml

这里说下为什么需要修改配置文件:

这里写图片描述

上图是从github上截的图

大致意思是,head插件连接elasticsearch需要注意的点:
因为head插件是一个独立进程,启动后是一个独立的服务器外加端口,比如我的虚拟机ip地址:http://192.168.0.111:9100/
而elasticsearch启动后也是一个独立的进程,ip地址:http://192.168.0.111:9200/
这样两个独立进程,虽然服务器ip地址相同,但是端口不同,此时会发生跨域的情况。。
于是官方给出这样一段话,我们在对elasticsearch启动的时候追加两个配置文件属性即可防止跨域。
#在文件末尾添加即可,此处需要注意yml的格式问题(有的博友已经遇到了不生效,详见评论---20180927)
http.cors.enabled: true
http.cors.allow-origin: "*"

到这里,基本需要注意的点都说到了,然后开始启动吧。

#切回到head的主目录下,执行如下命令

npm run start

这里写图片描述

可以看到如上图所示,已经发布成功了,接下来启动elasticsearch即可。。

这里如有需要,可以看我上一篇的单例搭建elasticsearch:
http://blog.csdn.net/s740556472/article/details/78992596

[elsearch@192 elasticsearch-6.1.1]$ ./bin/elasticsearch -d

本地访问一下看看效果!结果发现页面访问不通,后来突然想起来没有关闭防火墙,关闭后成功访问。如下图:

这里写图片描述

至此。。。完成。。。感觉linux下确实是各种环境依赖问题。。


Original url: Access
Created at: 2018-12-03 20:22:16
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论