1

文章用来开启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
分布式配置完成!


Sailing
189 声望3 粉丝

我爱编程,编程使我快乐!呵呵哒~