文章用来开启Node和Elasticsearch学习的新篇章,持续更新中…
来源:慕课网瓦力老师课程 http://www.imooc.com/learn/889
Elasticsearch官网:https://www.elastic.co/produc…
下载系统匹配版本,解压即可。
elasticsearch-head插件下载地址:https://github.com/mobz/elast…
说明:
- 提前安装好 Node.js 8.5.0
- 版本:elasticsearch-5.6.1/elasticsearch-head-master 需要Node 6.0以上
- 以下操作是在 Git Bash 下进行的…
# 打开head插件目录
$ cd elasticsearch-head-master
# 下载 "package.json" 里的依赖包
$ npm install
# 运行head插件
$ npm start run
# 服务启动成功,会显示如下信息:
Started connect web server on http://localhost:9100
此时浏览器访问 http://localhost:9100, 显示head插件页面,但状态显示未连接,原因是未启动 Elasticsearch。Ctrl+c
关掉服务,先启动 Elasticsearch:
$ cd elasticsearch/bin
$ start elasticsearch
再启动 Elasticsearch 之前,修改 elasticsearch.yml,原因是 head 插件和 Elasticsearch 是两个不同的线程,存在跨域问题。yml添加配置如下:
#允许跨域 连接head插件
http.cors.enabled: true
http.cors.allow-origin: "*"
#集群名
cluster.name: zhangyl
#节点名
node.name: master
#此节点是否为主节点
node.master: true
#本地网络地址
network.host: 127.0.0.1
访问 http://localhost:9100 显示集群状态,及节点master
http://localhost:9200 有更详细的集群名等信息
npm小知识:
因为npm默认远程仓库地址在国外,下载包特别慢,修改如下:# 将npm默认设置为淘宝镜像地址 $ npm config set registry http://registry.npm.taobao.org/ # 查看远程仓库 $ npm config get registry # 当你想发布自己的包时,需要将地址修改回来 $ npm config set registry https://registry.npmjs.org
分布式安装elasticsearch:
如上配合elasticsearch.yml,是主节点的配置信息。然后拷贝两份elasticsearch的解压包,修改yml如下:
cluster.name: zhangyl
node.name: slave_1
network.host: 127.0.0.1
http.port: 9201
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
cluster.name: zhangyl
node.name: slave_2
network.host: 127.0.0.1
http.port: 9202
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
cluster.name 集群名要一致,http.port 不同,防止端口号冲突。
修改完成后,依次启动elasticsearch主节点、两个普通节点及head插件,访问http://localhost:9100,会显示三个节点:master/slave_1/slave_2
分布式配置完成!