Elasticsearch之分布式安装(一)

ElasticeSearch

是什么:基于Apache Lucene构建的开源搜索引擎,采用Java编写,提供简单易用的RestFul API

做什么:
海量数据分析引擎
站内搜索引擎
数据仓库
GitHub站内实时搜索,BAT等也都在使用

优点:轻松的横向扩展,支持PB级的结构化或非结构化的数据

一.单机安装

1.在官网下载最新版本https://www.elastic.co/downloads/elasticsearch,只要安装了JDK8就都可以直接运行
elasticsearch-head插件:将返回的json数据友好的展示出来

2.elasticsearch-head插件下载:https://github.com/mobz/elasticsearch-head github下载安装包
这个插件需要运行在node环境下,如果已经安装好node.js 运行npm install -g cnpm –registry=https://registry.npm.taobao.org,这里吐槽下直接npm install有时由于网络问题会报错

3.解决插件和elasticsearch的跨域问题
修改elasticsearch安装文件conf文件夹elasticsearch.yml,在最后面加上
http.cors.enabled: true
http.cors.allow-origin: “*”

4.重启elasticsearch.bat
进入elasticsearch-head-master文件夹打开cmd,输入npm run start
然后http://localhost:9100看到如下就表示Elasticsearch成功启动了
Elasticsearch之分布式安装(一)_第1张图片

二.分布式安装

1.首先指定我们刚刚安装的elasticsearch为master,还是修改conf文件夹elasticsearch.yml
在最后面加上:
cluster.name: superMan #集群名
node.name: master #主节点名
node.master: true #是否为主节点
network.host: 127.0.0.1 #配置ip,默认9200

然后重启elasticsearch.bat,访问http://localhost:9100,如图

Elasticsearch之分布式安装(一)_第2张图片

2.复制elasticsearch压缩包到一个新文件夹,分别解压两次,文件夹分别命名为es_slave1,es_slave2
然后同样修改各自的配置文件elasticsearch.yml
es_slave1在elasticsearch.yml最后面加上:
cluster.name: superMan #集群名,和node一样
node.name: slave1 #从节点名

network.host: 127.0.0.1 #从节点ip
http.port: 8200 #本机伪分布式防止冲突端口号

discovery.zen.ping.unicast.hosts: [“127.0.0.1”] #加入集群,即主节点

es_slave2在elasticsearch.yml最后面加上:
cluster.name: superMan #集群名,和node一样
node.name: slave2 #从节点名

network.host: 127.0.0.1 #从节点ip
http.port: 8200 #本机伪分布式防止冲突端口号

discovery.zen.ping.unicast.hosts: [“127.0.0.1”] #加入集群,即主节点

我们分别启动es_slave1,es_slave2
然后登录http://localhost:9100,发现如图:
Elasticsearch之分布式安装(一)_第3张图片
我们可以发现elasticsearch想扩展很简单,只需要在从节点配置好信息去找主节点就行,是单方面操作,不存在任何耦合,分布式安装到这里就结束了,so easy.

你可能感兴趣的:(elasticsearch)