准备
1.官网下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
选择适合自己的版本,我这里选择的是6.7.2版本的.
2.将tar.gz包上传到节点的安装目录,我这里上传到/opt目录下
然后解压
[root@master02 opt]# tar -zxvf ./elasticsearch-6.7.2.tar.gz -C ./
3.新建用户组及用户(es需要新建用户),因为使用root用户执行ES程序,将会出现错误;所以这里需要创建单独的用户去执行ES 文件;命令如下:
[root@master02 opt]# groupadd elsearch
[root@master02 opt]# useradd elsearch -g elsearch
[root@master02 opt]# chown -R elsearch:elsearch /opt/elasticsearch-6.7.2
4.创建ES数据文件和日志文件,使用root用户
[root@master02 opt]# mkdir /data
[root@master02 opt]# chown -R elsearch:elsearch /data/
[root@master02 opt]# su - elsearch
[elsearch@master02 ~]$ mkdir -p /data/es/data
[elsearch@master02 ~]$ mkdir -p /data/es/logs
5.修改ES配置文件,使用cd命令进入到config 文件下,执行 vi elasticsearch.yml 命令
[elsearch@master02 config]$ cd /opt/elasticsearch-6.7.2/config
[elsearch@master02 config]$ vi ./elasticsearch.yml
将文件中需要修改地方的#删除,然后更改值.
分别是:
设置es集群名称:
设置节点名称:
设置数据路径:
内存相关设置:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
网络设置:
其他设置:
http.cors.enabled: true
http.cors.allow-origin: "*"
6.使用elsearch用户执行ES文件,su - elsearch。进入到bin 目录下执行 ./elasticsearch 命令就可以了,执行 ./elasticesrarch -d 是后台运行
[elsearch@master02 bin]$ su - elsearch
[elsearch@master02 bin]$ /opt/elasticsearch-6.7.2/bin/elasticsearch
出错:
需要修改系统变量的最大值,使用root用户执行以下几条命令:
[elsearch@master02 bin]$ su root
打开系统配置文档:
在尾部增加一行:vm.max_map_count=655360
[root@master02 bin]# vi /etc/sysctl.conf
最后执行:
[root@master02 bin]# sysctl -p
然后切换回elsearch用户,并启动es
[elsearch@master02 bin]$ su - elsearch
[elsearch@master02 bin]$ /opt/elasticsearch-6.7.2/bin/elasticsearch
打开浏览器,输入 http://自己配置的IP地址:9200/
注意:如果还出现错误别的错误,参考文档:https://blog.csdn.net/qq_42694052/article/details/90294122
其他节点同样配置.
安装head
1、下载head安装包,下载地址:https://github.com/mobz/elasticsearch-head/archive/master.zip
2、解压 ,并上传到ES节点/opt 目录
3、执行head 插件,需要node.js 的支持,所以,下面先安装node.js
4、地址: https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
5、解压 node.js安装包
6、配置node.js的环境变量:vi /etc/profile :
6.1 首先找到jdk的位置
[root@master02 ~]# java -verbose
6.2 修改JAVA_HOME
[root@master02 opt]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64
export NODE_HOME=/opt/node
export PATH=$JAVA_HOME/bin:$NODE_HOME/bin:$PATH
[root@master02 opt]# source /etc/profile
[root@master02 opt]# node -v
v4.4.7
[root@master02 opt]# npm -v
2.15.8
安装grunt(grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等工作,elasticsearch-head插件就是通过grunt启动的)。
[root@master02 opt]# npm install -g grunt grunt-cli
报错:
原因:连不了外网,需要修改dns
解决方案(推荐,验证可用):
对接口添加dns信息;编辑/etc/sysconfig/network-scripts/ifcfg-ethX,具体的X
[root@master02 etc]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
根据你的网卡确定,添加
DNS1=8.8.8.8
DNS2=8.8.4.4
保存后重启网络service network restart
[root@master02 etc]# service network restart
再执行:npm install -g grunt grunt-cli
[root@master02 opt]# npm install -g grunt grunt-cli
又出错:
解决方式:
使用ntp同步系统时间
ntpdate cn.pool.ntp.org
[root@master02 opt]# ntpdate cn.pool.ntp.org
PS:如果找不到ntp命令,可以使用如下的命令进行安装
yum install ntp
在执行第一条命令后在查看时间
date
如果出现the NTP socket is in use, exiting问题
[root@cm ~]# ntpdate cn.pool.ntp.org
2 Jan 15:35:15 ntpdate[6521]: the NTP socket is in use, exiting
需要
service ntpd stop
然后
ntpdate cn.pool.ntp.org
最后date
[root@cm ~]# service ntpd stop
Shutting down ntpd: [ OK ]
[root@cm ~]# ntpdate cn.pool.ntp.org
5 Jul 13:34:23 ntpdate[6818]: step time server 193.228.143.23 offset -299728986.280782 sec
[root@cm ~]# date
2019年 07月 05日 星期五 13:34:26 CST
时间问题解决完成
再执行一次安装命令!!!
[root@master02 opt]# npm install -g grunt grunt-cli
歪日,终于安装成功了!!!
[root@master02 opt]# npm install grunt --save-dev
[root@master02 opt]# grunt -version
grunt-cli v1.3.2
grunt v1.0.4
7.修改elasticsearch-head-master文件下的Gruntfile.js文件中,添加一行”hostname: ‘0.0.0.0’,”配置后所有ip都能访问,生产环境有需求的就指定ip
[root@master02 elasticsearch-head-master]# vi ./Gruntfile.js
在项目目录执行npm install grunt --save-dev安装
[root@master02 opt]# npm install grunt --save-dev
[root@master02 elasticsearch-head-master]# grunt server &
报错:
解决:
npm install grunt-contrib-clean --registry=https://registry.npm.taobao.org
npm install grunt-contrib-concat --registry=https://registry.npm.taobao.org
npm install grunt-contrib-watch --registry=https://registry.npm.taobao.org
npm install grunt-contrib-connect --registry=https://registry.npm.taobao.org
npm install grunt-contrib-copy --registry=https://registry.npm.taobao.org
npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org
8.修改 vim _site/app.js 文件:修改head的连接地址,改为安装head插件的主机ip,如图所示
切记,grunt server &要在**/opt/elasticsearch-head-master/_site**目录下启动
[root@master02 _site]# pwd
/opt/elasticsearch-head-master/_site
[root@master02 _site]# grunt server &
最后集群安装es的每个节点都切换到elsearch用户,然后启动
[elsearch@worker01 es]$ /opt/elasticsearch-6.7.2/bin/elasticsearch
最后去ui界面查看 http://master02:9100
PS:后台启动方式
[root@master02 _site]# pwd
/opt/elasticsearch-head-master/_site
[root@master02 _site]# nohup grunt server &exit
每个节点在elsearch用户组下都启动
[elsearch@worker02 root]$ nohup /opt/elasticsearch-6.7.2/bin/elasticsearch &