文章用来开启Node和Elasticsearch学习的新篇章,持续更新中...
来源:慕课网瓦力老师课程 http://www.imooc.com/learn/889node
Elasticsearch官网:https://www.elastic.co/produc...
下载系统匹配版本,解压便可。
elasticsearch-head插件下载地址:https://github.com/mobz/elast...git
说明:github
# 打开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:web
$ cd elasticsearch/bin $ start elasticsearch
再启动 Elasticsearch 以前,修改 elasticsearch.yml,缘由是 head 插件和 Elasticsearch 是两个不一样的线程,存在跨域问题。yml添加配置以下:npm
#容许跨域 链接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 有更详细的集群名等信息json
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
分布式配置完成!网络