CentOS7安装ElasticSearch2.4+head插件

首先你要明白ElasticSearch(下面简称ES),从2.3版本开始不支持使用root登陆,所以如果你想安装高版本的ES,注意给它新建用户组并赋权限。我这里为了省劲,专门找了2.4版本的,以为可以直接用root登陆,结果还是没绕过去,不过还在版本够低,还有不久措施
废话到此为止,直接上操作

1.准备工作
1).ES的.tar包,官网下载
2).系统安装好JDK,ES的运行需要依赖Java环境,推荐使用JDK8,虽然ES2.4用低版本jdk也行。
安装jdk的步骤不说了,不会的可以参考去网上搜一下,太多。。。。

2.开始安装
1) 直接自己找个地方建个文件夹,把下载好的ES压缩包丢进去,我自己是丢在/usr/local/ES里面的

[root@localhost ES]# pwd
/usr/local/ES
[root@localhost ES]# ll
total 51408
drwxr-xr-x. 9 root root     4096 Sep 12 14:07 elasticsearch-2.4.2
-rw-r--r--. 1 root root 27335824 Sep 13  2018 elasticsearch-2.4.2.tar.gz

然后解压缩。

[root@localhost ES]# tar -xvf elasticsearch-2.4.2

解压完这样

[root@localhost ES]# cd elasticsearch-2.4.2
[root@localhost elasticsearch-2.4.2]# ll
total 40
drwxr-xr-x. 2 root root  4096 Sep 12 14:02 bin
drwxr-xr-x. 3 root root    62 Sep 12 14:45 config
drwxr-xr-x. 3 root root    20 Sep 12 14:07 data
drwxr-xr-x. 2 root root  4096 Sep 12 14:02 lib
-rw-rw-r--. 1 1000 1000 11358 Aug 23  2016 LICENSE.txt
drwxr-xr-x. 2 root root  4096 Sep 12 14:05 logs
drwxrwxr-x. 5 1000 1000    60 Nov 17  2016 modules
-rw-rw-r--. 1 1000 1000   150 Aug 23  2016 NOTICE.txt
drwxr-xr-x. 2 root root     6 Sep 12 14:07 plugins
-rw-rw-r--. 1 1000 1000  8700 Aug 23  2016 README.textile
[root@localhost elasticsearch-2.4.2]# 

2) 配置 config/elasticsearch.yml文件

[root@localhost elasticsearch-2.4.2]# vim config/elasticsearch.yml

找到最后面的# action.destructive_requires_name: true
追加上我写得这些参数,注意ip换成自己机子的IP,名字什么的随便取,保持一致就好

# action.destructive_requires_name: true

# 集群的名字
 cluster.name: eslearn
#
# # 节点名字
 node.name: eslearn-master
# #是否是master
 node.master: true
#
# #ES的监听地址,这样别的机器也可以访问
 network.host: 192.168.25.138
#
# # 默认的就好
 http.port: 9200
#
# #本机最大允许运行节点个数
 node.max_local_storage_nodes: 3
#
# # 增加新的参数,这样head插件可以访问es,解决跨域访问问题
 http.cors.enabled: true
 http.cors.allow-origin: "*"

3) 配置完毕,启动ES
进入ES的目录下执行命令,注意后面的-Des.insecure.allow.root=true,正常的启动命令是 .bin/elasticsearch,但是由于不允许root用户登陆,只能追加上后面的命令,解决

[root@localhost elasticsearch-2.4.2]# .bin/elasticsearch -Des.insecure.allow.root=true

另一个解决方法,直接打开ES的执行问价,追加一句ES_JAVA_OPTS=”-Des.insecure.allow.root=true”,以后就能用 .bin/elasticsearch命令执行

[root@localhost elasticsearch-2.4.2]# vim bin/elasticsearch
#   ES_CLASSPATH -- A Java classpath containing everything necessary to run.
#   JAVA_OPTS    -- Additional arguments to the JVM for heap size, etc
#   ES_JAVA_OPTS -- External Java Opts on top of the defaults set
#    1111111111111111111111111111
#
# Optionally, exact memory values can be set using the following values, note,
# they can still be set using the `ES_JAVA_OPTS`. Sample format include "512m", and "10g".

就在我标1111111111111111的地方加,注意去点前面的#

现在你便可以从浏览器输入 IP+:9200来访问ES.结果如下图
这里写图片描述

如果无法连接,注意防火墙问题。
1) 直接关闭防火墙 systemctl stop firewalld #关闭
2) 将端口加入防火墙规则
firewall-cmd –zone=public –add-port=80/tcp –permanent #添加端口(–permanent表示永久生效,没有此参数重启后失效)
80处修改为自己想加入的端口

到这,ES安装完成

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

1) 安装nodejs

[root@localhost ES]# yum install -y nodejs

这里我把它安装到ES文件夹下,你也可以自己下载tar文件然后解压
下面是命令
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz

tar -xvf node-v4.5.0-linux-x64.tar.gz

然后是环境变量配置,如下

[root@localhost ES]# vim /etc/profile


export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
export NODE_HOME=/usr/local/ES/node-v4.5.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

不要忘记重新加载

[root@localhost ES]# sourcr etc/profile

2)安装npm

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

等待执行完毕就好了

3)使用npm安装grunt

[root@localhost ES]# npm install -g grunt
[root@localhost ES]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy

这是俩命令,为了省事,所有命令的执行结果我都没贴图。
你可以使用命令来检验是否安装成功
node -v
npm -v
grunt -version
来查看他们的版本号
4)下载head插件源码

[root@localhost ES]#wget https://github.com/mobz/elasticsearch-head/archive/master.zip

还是那句话,也可以在别的地方下载,然后把他传上来,在解压缩

unzip +文件名.zip

这是解压缩zip文件的命令解压完之后,到现在为止,我的ES里面文件是这样的

[root@localhost ES]# ll
total 51408
drwxr-xr-x. 9 root root     4096 Sep 12 14:07 elasticsearch-2.4.2
-rw-r--r--. 1 root root 27335824 Sep 13  2018 elasticsearch-2.4.2.tar.gz
drwxr-xr-x. 7 root root     4096 Sep 12 14:51 elasticsearch-head-master
-rw-r--r--. 1 root root   921421 Sep 12 14:16 master.zip

drwxrwxr-x. 7  500  500     4096 Sep 12 14:35 node-v4.5.0-linux-x64
-rw-r--r--. 1 root root 12176956 Aug 16  2016 node-v4.5.0-linux-x64.tar.gz

进入 elasticsearch-head-master文件夹

[root@localhost ES]# cd  elasticsearch-head-master
[root@localhost elasticsearch-head-master]# ll
total 52
-rw-r--r--.  1 root root  248 Sep 14  2017 Dockerfile
-rw-r--r--.  1 root root  221 Sep 14  2017 Dockerfile-alpine
-rw-r--r--.  1 root root  104 Sep 14  2017 elasticsearch-head.sublime-project
-rw-r--r--.  1 root root 2196 Sep 12 14:51 Gruntfile.js
-rw-r--r--.  1 root root 3482 Sep 14  2017 grunt_fileSets.js
-rw-r--r--.  1 root root 1088 Sep 14  2017 index.html
-rw-r--r--.  1 root root  559 Sep 14  2017 LICENCE
drwxr-xr-x. 12  500 root 4096 Sep 12 14:42 node_modules
-rw-r--r--.  1 root root  886 Sep 14  2017 package.json
-rw-r--r--.  1 root root  100 Sep 14  2017 plugin-descriptor.properties
drwxr-xr-x.  4 root root   50 Sep 14  2017 proxy
-rw-r--r--.  1 root root 6944 Sep 14  2017 README.textile
drwxr-xr-x.  5 root root 4096 Sep 14  2017 _site
drwxr-xr-x.  4 root root   29 Sep 14  2017 src
drwxr-xr-x.  4 root root   66 Sep 14  2017 test

5)下载依赖
进入elasticsearch-head-master目录,执行下面命令安装head的依赖

[root@localhost elasticsearch-head-master]# npm installnpm install

如果成功,万事大吉,如果失败,换一种方式安装

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

6)修改Head插件配置文件

[root@localhost elasticsearch-head-master]# vim Gruntfile.js

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

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

这样的话,你就可以在外界是由ip+9100来访问heade了

注意安装head的时候,将ES服务停掉。

现在启动ES,
再启动head

[root@localhost elasticsearch-head-master]# grunt server

注意去对应的目录下启动

你就可以在浏览器端访问head了
如图
这里写图片描述

完毕!!!

猜你喜欢

转载自blog.csdn.net/weixin_37701177/article/details/82692816
今日推荐