先说一下今天比较郁闷的事,今天下午本来是已经安装了,但总感觉哪里不对。
第一是因为安装好后怎么让head插件后台挂起因为以前是windows安装的直接随es启动的。
第二是根据原来的运维安装的和自己在Windows上安装的插件路径不对
这是今天我的最大收获就是将这2个以为解决了,下面会有说明为什么解决了。接下来进入安装吧。
先安装ElasticSearch
一:先安装ES的yum公钥
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
二:因为没有es的yum源,所以需要配置
执行命令:vim /etc/yum.repos.d/elasticsearch.repo
因为我的Spring boot项目使用的是spring-data-elasticsearch 当时还不支持5.x的版本,所以用的是2.x的版本;
将一下内容复制进入文本即可:
[esticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
复制到上面即可!!!!
三:更新yum
yum makecache
四:安装ES
yum install elasticsearch
会安装到你的 /usr/share/下面如果没错的话。
五:接下来配置启动ES的服务进程
/sbin/chkconfig --add elasticsearch
这一步还可以写脚本,我对照着网上大神的也写了一个。如果想要的话可以留言。
因为ES不支持ROOT账户启动,所以需要创建一个账号:
1.创建分组:groupadd es(es是分组名,这一步可以忽略,不设置分组,直接设置用户也就是第2步)
2.创建用户:useradd -g es es(第一个es是分组名,第二个es是我的用户名)
3.passwd es 设置密码
现在就可以进入/etc/init.d/ 下面启动 ./elasticsearch start 随后 会让你输入 用户名es
我就是嫌这个麻烦才又写了一个启动脚本,脚本内切换了es用户,直接启动不需要在手动输入es账号了。
如何通过IP访问需要修改配置文件
vim /usr/share/elasticsearch/config/elasticsearch.yml
上面还有一个cluster.name 和node 也可以配置自己的名字
同时,最下面加上这两句话 ,这是因为head和ES分开装的原因解决2个服务的跨域问题。
http.cors.enabled: true
http.cors.allow-origin: "*"
安装head插件
第一种安装方式
一:https://nodejs.org/en/download/ 因为他需要node的支持
在 /usr/local/ 下面自己创建文件夹执行以下命令
wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
完成支持然后解压,并将该路径配置到环境变量中我的路径是:/usr/local/myNodes/node-v10.13.0-linux-x64/bin
验证node就可以了
下载head需要安装git 如果已经安装过的忽略
安装git :yum install git
需要分四步完成
1、git clone git://github.com/mobz/elasticsearch-head.git
2、cd elasticsearch-head
3、npm install -g grunt -cli
4、npm install
5、npm run start
进入 ElasticSearch_head 的目录下。编辑:vim Gruntfile.js
进入:/usr/local/elasticsearch-head/_site 目录下修改 vim app.js 下图改成自己的ip
最后运行:./grunt server & 就可以后台挂起运行了。
验证:http://localhost:9100/
这里就是为什么我开篇写的有2个疑惑,
原因:因为我们公司原来的运维是在ElasticSearch bin/plugin目录下直接运行
./plugin install mobz/elasticsearch-head
命令,他会直接下载head组件并在ElasticSearch下面的plugins文件夹中所以,只要es启动head就会启动。不要考虑挂起的问题。
这就是为什么我觉得我安装的和运维安装不一样
为什么会这样?
答案是因为 5.X之后ES不希望 将head插件装到 ES中,所以现在网上很多都是分开装的