ES系列二之CentOS7安装ES head插件

CentOS7安装ES head插件

附:Centos7中安装Node出现Cannot find module '.../lib/utils/unsupported.js'问题

删除原本的的npm连接,重新建一个即可。

1、先cd到该node版本中的bin文件夹下,这里装的是12.16.2版本:

cd /usr/local/soft/node-v16/bin
或 
/usr/local/soft/node/node-v20/bin

2、删除该路径下的npm文件, 出现提示输入yes即可

mv npm npm.bk

3、重新建立文件连接

ln -s ../usr/local/soft/node-v16/lib/node_modules/npm/bin/npm-cli.js ./npm

再次使用 npm -v 命令查看发现已近ok了

一、Head插件简介

ElasticSearch-head是一个H5编写的ElasticSearch集群操作和管理工具,可以对集群进行傻瓜式操作。

  • 显示集群的拓扑,并且能够执行索引和节点级别操作
  • 搜索接口能够查询集群中原始json或表格格式的检索数据
  • 能够快速访问并显示集群的状态
  • 有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生有趣的结果;
  • 5.0版本之前可以通过plugin名安装,5.0之后可以独立运行。

-----------------------只需要在第一台es部署head 即可-----------------------

二、Head插件安装

前置:安装phantomjs(由于入坑多写一步,此步骤可省掉)

1.下载phantomjs

安装npm的时候会依赖phantomjs 所以我们先安装phantomjs

phantomjs 下载地址:http://phantomjs.org/download.html

可以复制下载地址通过命令来下载,如下

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

2.解压安装包

# 下载bzip2
 ① yum -y install bzip2

#创建存放目录
[root@elk-1 ~]# mkdir /tmp/phantomjs

# ------------------------------------------------------------
# 将文件移动过去即可,不需要解压
[root@elk-1 ~]# mv phantomjs-2.1.1-linux-x86_64.tar.bz2 /tmp/phantomjs/
 
更改权限
[root@elk-1 ~]# chmod 777 /tmp/phantomjs -R
# ------------------------------------------------------------
 # ========================================================
#如果不行 再解压 安装
 ② bzip2 -d phantomjs-2.1.1-linux-x86_64.tar.bz2

 ③ tar -xvf phantomjs-2.1.1-linux-x86_64.tar
 # ========================================================

3.安装(由于我的解压目录在 /home/tools/phantomjs-2.1.1-linux-x86_64,所以后面就直接写绝对路径了)

① 将可执行文件放入系统路径

   ln -s /home/tools/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs

② 安装依赖------fontconfig和freetype

  yum install fontconfig freetype2

③ 配置环境变量

  vim /etc/profile

  export  PHANTOMJS=/home/tools/phantomjs-2.1.1-linux-x86_64

  export  PATH=$PATH:$PHANTOMJS/bin

保存后执行:source /etc/profile

④ 测试 执行如下命令会显示phantomjs的版本

phantomjs -v

  1. 安装NodeJS

    [root@localhost soft]#  yum install -y nodejs
    或 上传tar.gz包 直接解压缩
    
  2. 安装npm

    [root@localhost bin]# npm install -g cnpm --registry=https://registry.npm.taobao.org
    

    附:报错 npm ERR! code CERT_HAS_EXPIRED

  3. 使用npm安装grunt

    [root@node1 ~]# npm install -g grunt
    npm WARN deprecated coffee-script@1.10.0: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
    npm WARN gentlyRm not removing /usr/bin/grunt as it wasn't installed by /usr/lib/node_modules/grunt
    /usr/bin/grunt -> /usr/lib/node_modules/grunt/bin/grunt
    /usr/lib
    └── grunt@1.0.1

    [root@node1 ~]#

    [root@node1 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy
    /usr/bin/grunt -> /usr/lib/node_modules/grunt-cli/bin/grunt
    /usr/lib
    └─┬ grunt-cli@1.2.0
    ├─┬ findup-sync@0.3.0
    │ └─┬ glob@5.0.15
    │ ├─┬ inflight@1.0.6
    │ │ └── wrappy@1.0.2
    │ ├── inherits@2.0.3
    │ ├─┬ minimatch@3.0.4
    │ │ └─┬ brace-expansion@1.1.8
    │ │ ├── balanced-match@1.0.0
    │ │ └── concat-map@0.0.1
    │ ├── once@1.4.0
    │ └── path-is-absolute@1.0.1
    ├── grunt-known-options@1.1.0
    ├─┬ nopt@3.0.6
    │ └── abbrev@1.1.1
    └── resolve@1.1.7

    [root@node1 ~]#

  4. 版本确认

    [es@node1 ~]$ node -v
    v6.12.0
    [es@node1 ~]$ npm -v
    3.10.10
    [es@node1 ~]$ grunt -version
    grunt-cli v1.5.0
    [es@node1 ~]$
    

三、安装head

  1. 下载head插件源码

    [root@localhost ~]# cd /usr/local/soft/es7.14/
    [root@localhost es7.14]# get https://github.com/mobz/elasticsearch-head/archive/master.zip

    --2017-12-18 09:58:08-- https://github.com/mobz/elasticsearch-head/archive/master.zip
    .......
    ......
    HTTP request sent, awaiting response... 200 OK
    Length: 921421 (900K) [application/zip]
    Saving to: 'master.zip'

    100%[===============================================================>] 921,421 9.64KB/s in 67s

    2017-12-18 09:59:18 (13.4 KB/s) - 'master.zip' saved [921421/921421]

    [root@localhost es7.14]# ls
    master.zip
    $ unzip master.zip

    改名

    [root@localhost es7.14]# mv elasticsearth-head-master head-master

  2. 下载依赖

    进入elasticsearch-head-master目录,执行下面命令:

    [root@localhost head-master]# npm install -g

    [root@localhost head-master]#

如果上面命令安装较慢或失败,可以尝试国内镜像安装

[es@node1 elasticsearch-head-master]$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

[es@node1 elasticsearch-head-master]$

四、配置

  1. 停止ElasticSearch

如果ElasticSearch已经启动,需要先停止

[es@node1 ~]$ kill 3261
  1. 配置 ElasticSearch,使得HTTP对外提供服务

    [es@node1 elasticsearch-6.1.1]$ vi config/elasticsearch.yml

添加如下内容

# 增加新的参数,这样head插件可以访问es。设置参数的时候:后面要有空格
http.cors.enabled: true
http.cors.allow-origin: "*"
  1. 修改Head插件配置文件

    [es@node1 elasticsearch-head-master]$ vi Gruntfile.js

找到connect:server,添加hostname一项,如下

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

(3-2) 修改 _site/app.js

[root@elk-1 ~]# vim /usr/local/elasticsearch-head-master/_site/app.js +4373  
原来是http://localhost:9200 ,如果head和ES不在同一个节点,注意修改成ES的IP地址,写成node-1或node-3的IP地址

五、启动

  1. 启动elasticsearch

     首先确认elasticsearch已经启动
    

    [es@node1 elasticsearch-6.1.1]$ bin/elasticsearch -d
    [es@node1 elasticsearch-6.1.1]$ jps
    3451 Jps
    3436 Elasticsearch
    [es@node1 elasticsearch-6.1.1]$

2、启动head

通过命令grunt server启动head

[es@node1 elasticsearch-head-master]$ grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://node1:9100

或者通过命令npm run start也可以启动head

[es@node1 elasticsearch-head-master]$ npm run start

> elasticsearch-head@0.0.0 start /home/es/elasticsearch-head-master
> grunt server

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://node1:9100
  1. 访问9100端口

     http://node3:9100/
    

如果出现"未连接",请修改localhost为node1,然后单击"连接"按钮

分别启动es集群:node-1,node-2,node-3



六、简单应用

  1. 创建索引

    [root@node1 ~]# curl -XPUT node1:9200/test
    {"acknowledged":true,"shards_acknowledged":true,"index":"test"}
    [root@node1 ~]#

  2. 查看head变化

相关推荐
智慧化智能化数字化方案28 分钟前
华为IPD流程管理体系L1至L5最佳实践-解读
大数据·华为
PersistJiao2 小时前
在 Spark RDD 中,sortBy 和 top 算子的各自适用场景
大数据·spark·top·sortby
2301_811274312 小时前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
Yz98762 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
青云交2 小时前
大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)
大数据·数据清洗·电商数据·数据整合·hive 数据导入·多源数据·影视娱乐数据
武子康2 小时前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康2 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
时差9532 小时前
Flink Standalone集群模式安装部署
大数据·分布式·flink·部署
锵锵锵锵~蒋2 小时前
实时数据开发 | 怎么通俗理解Flink容错机制,提到的checkpoint、barrier、Savepoint、sink都是什么
大数据·数据仓库·flink·实时数据开发
二进制_博客2 小时前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink