当前以ElasticSearch 5.6.3 版本为例
下载elasticsearch
#下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
#进行解压
tar -zxvf elasticsearch-5.6.3.tar.gz
单列模式启动
#打开 elasticsearch-5.5.1/config/elasticsearch.ym
#文件后新增
#监听端口
http.port: 9200
#绑定ip
network.host: 0.0.0.0
#切换linux账户,因为es不能用root账户启动
#授权 这里我新增了lining这个用户
chown -R lining:lining es/
#切换后进入elasticsearch-5.5.1/bin/下
./elasticsearch
#等待启动完毕即可
#如有问题,参考上面解决问题的博文
为了实现高可用,部署es集群
集群配置建议三个节点
#集群名默认为elasticsearch
cluster.name: elasticsearch
# 节点名称,集群中的节点名称必须不一样.
node.name: one
# 允许一个节点是否可以成为一个master节点,es是默认集群中的第一台机器为master,如果这台机器停止就会重新选举master.
#因为我的集群节点少,所以都是master节点
node.master: true
# 允许该节点存储数据(默认开启)
#因为我的集群节点少,所以都是data节点
node.data: true
# 设置绑定的ip地址,只有本机可以访问http接口,这里使用0.0.0.0
network.host: 0.0.0.0
#增加跨域支持
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
# 设置对外服务的http端口,默认为9200 (es应用访问端口)
http.port: 9200
#集群通信 (集群节点通讯端口)
transport.tcp.port: 9300
# 这是一个集群中的主节点的初始列表,当节点(主节点或者数据节点)启动时使用这个列表进行探测
discovery.zen.ping.unicast.hosts: ["172.17.119.50:9300","172.17.119.51:9300","172.17.119.52:9300" ]
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点.默认为1
#官方的解释 Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
# 3/2+1=2
discovery.zen.minimum_master_nodes: 2
# 数据存储位置(单个目录设置)
path.data: /opt/es/data
# 日志文件的路径
path.logs: /opt/es/logs
安装Head插件
#下载
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
#解压
unzip master.zip
安装依赖环境node
#执行命令
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
#执行命令:
yum install -y nodejs
#验证是否安装成功:
node -v
安装grunt
#执行命令:
npm install -g grunt-cli
#执行命令 这个就很慢了,等吧:
#换国内的镜像
#查看镜像地址
npm config get registry
#配置国内的镜像地址
npm config set registry https://registry.npm.taobao.org
#重新安装
npm install
#启动head
grunt server
#默认通知9100访问
http://ip:9100/