ElasticSearch是一个基于Lucene的开源搜索服务器,现已经被越来越多的企业运用于项目当中,笔者为了学习es在自己机器上简单的搭建了一个es集群,此文权当记录。
1.我用到的压缩包
下载地址:链接:https://pan.baidu.com/s/1aIDwME7xvPBws78vRlmB7w 密码:uin6
2.首先解压两个压缩包,并将elasticsearch目录拷贝为多份(我这里拷贝了三份)
3.修改配置文件
elasticsearch相对于其他软件,配置还是相对简单的,只有一个节点的时候直接运行bin下面的批处理文件运行即可使用,不需要做任何配置
即使是我们想要搭建一个集群,也只需要做少量的配置:
* 首先修改一下host文件(host文件的位置不需要我说了吧),添加一下IP映射
127.0.0.1 peer1 127.0.0.1 peer2 127.0.0.1 peer3
* 依次打开三个elasticsearch中config目录下的下elasticsearch.yml配置文件,需要修改的位置如下:
#配置文件中未改动的位置我就不展示了 #第一个配置文件改动如下 #集群名称(必须一样) cluster.name: carryless-es #节点名称(必须不一样) node.name: node-1 #本机的IP地址 network.host: peer1 #服务的端口号(在本地配置多个时,请注意修改为不一样的端口) http.port: 9201 #服务发现端口 transport.tcp.port: 9301 #集群发现IP集合 discovery.zen.ping.unicast.hosts: ["peer1:9301", "peer2:9302","peer3:9303"] #第二个配置文件改动如下 cluster.name: carryless-es node.name: node-2 network.host: peer2 http.port: 9202 transport.tcp.port: 9302 discovery.zen.ping.unicast.hosts: ["peer1:9301", "peer2:9302","peer3:9303"] #第三个配置文件改动如下 cluster.name: carryless-es node.name: node-3 network.host: peer3 http.port: 9203 transport.tcp.port: 9303 discovery.zen.ping.unicast.hosts: ["peer1:9301", "peer2:9302","peer3:9303"]
* 修改好配置文件后依次启动三个elasticsearch服务,启动完成后根据刚刚配置的IP和端口,在浏览器中访问得到如下结果即为成功
4.elasticsearch-head插件的安装
elasticsearch-head是一个用来浏览、与elasticsearch进行交互的web前端展示插件,使用node.js编写,要使用elasticsearch-head插件,需要有node环境,node.js的安装在此不做赘述,不明白的小伙伴请自行搜索。
* 首先我们使用命令窗口cmd,进入elasticsearch-head插件的目录中,执行以下代码
npm install
* 执行完成后,在当前目录下会多出一个名为node_modules的目录,此目录为自动下载所需模块的文件
* 然后在此目录下执行以下代码
npm run start
* 执行结果如下,说明启动成功
* 然后在浏览器中访问 http://localhost:9100,却出现意想不到的结果
* 集群健康值:未连接,插件连接不上elasticsearch服务,这是因为elasticsearch服务与elasticsearch-head之间能存在跨域,检查配置文件后发现少了两行配置,我们再次打开elasticsearch.yml配置文件,在其中添加如下两行:
http.cors.enabled: true http.cors.allow-origin: "*"
* 然后重启elasticsearch服务,再次访问elasticsearch-head插件发现能连上服务了
* 至此,就配置完成啦!