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
解压完这样
[aaa@qq.com ES]# cd elasticsearch-2.4.2
[aaa@qq.com 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
[aaa@qq.com 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
然后是环境变量配置,如下
[aaa@qq.com 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里面文件是这样的
[aaa@qq.com 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文件夹
[aaa@qq.com ES]# cd elasticsearch-head-master
[aaa@qq.com 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了
如图
完毕!!!