上一篇我们对 ES 的一些基本概念做了介绍,接下来我们搭建使用 ES 需要的环境。由于条件有限,这里先使用 windows 系统来搭建环境,这对于我们日常的学习已经足够了。使用 linux 系统搭建环境的步骤类似,后期看情况再补充吧。
1、Elasticsearch 安装
首先是下载 ES,官网下载地址 https://www.elastic.co/cn/downloads/elasticsearch,这里我们下载7.9.3版本的 windows 环境安装包。(ES 基本上每个月会更新1-2个版本,节奏太快了,你们下载最新版也可以)
将下载好的安装包解压到自己合适的目录,解压后的结构如下:
一般情况下,都是需要搭建 ES 集群的,但我只有一台电脑,为了演示,我将安装包解压3份作为3各节点,相当于集群中的三个节点,但是在一台服务器上,正常情况下一个集群中的节点需要安装在不同服务器。接下来我们需要通过 config 目录下的elasticsearch.yml
文件对各个节点做一些配置。
第一个节点(node-0)的配置:
# 集群名称(默认是elasticsearch)
cluster.name: shehuan-es
# 节点名称(默认是电脑的名称)
node.name: node-0
# 是不是有资格竞选主节点
node.master: true
# 是否存储数据
node.data: true
# 绑定的IP地址
network.host: 127.0.0.1
# http端口(默认是9200)
http.port: 9200
# 节点之间的通信端口(默认9300)
transport.tcp.port: 9300
# 候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
# 可以参与选举主节点的节点名称
cluster.initial_master_nodes: ["node-0", "node-1", "node-2"]
# 下边两行是配置允许被跨域访问(否则无法通过head客户端访问es的数据)
http.cors.enabled: true
http.cors.allow-origin: "*"
第二个节点(node-1)的配置:
# 集群名称(默认是elasticsearch)
cluster.name: shehuan-es
# 节点名称(默认是电脑的名称)
node.name: node-1
# 是不是有资格竞选主节点
node.master: true
# 是否存储数据
node.data: true
# 绑定的IP地址
network.host: 127.0.0.1
# http端口(默认是9200)
http.port: 9201
# 节点之间的通信端口(默认9300)
transport.tcp.port: 9301
# 候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
# 可以参与选举主节点的节点名称
cluster.initial_master_nodes: ["node-0", "node-1", "node-2"]
# 下边两行是配置允许被跨域访问(否则无法通过head插件等访问ES的数据)
http.cors.enabled: true
http.cors.allow-origin: "*"
第三个节点(node-2)的配置:
# 集群名称(默认是elasticsearch)
cluster.name: shehuan-es
# 节点名称(默认是电脑的名称)
node.name: node-2
# 是不是有资格竞选主节点
node.master: true
# 是否存储数据
node.data: true
# 绑定的IP地址
network.host: 127.0.0.1
# http端口(默认是9200)
http.port: 9202
# 节点之间的通信端口(默认9300)
transport.tcp.port: 9302
# 候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
# 可以参与选举主节点的节点名称
cluster.initial_master_nodes: ["node-0", "node-1", "node-2"]
# 下边两行是配置允许被跨域访问(否则无法通过head客户端访问es的数据)
http.cors.enabled: true
http.cors.allow-origin: "*"
搭建集群配置这些内容就够了,接下来通过如下的命令行分别启动3个 ES 节点:
启动成功后,可以在浏览器查看节点信息,例如查看第一个节点的信息:
2、head 安装
head 是比较常用的 Elasticsearch 可视化工具,可以查看集群中的节点信息、进行数据查询等其它操作。
安装 head 前,首先确保你安装了 nodejs,nodejs的下载地址 http://nodejs.cn/download, 安装很简单就不赘述了。
head 的安装步骤如下:
- 安装nodejs
- 在 GitHub 上下载插件原码: https://github.com/mobz/elasticsearch-head
- 在其源码目录下通过命令行
npm install
完成安装
head 的使用步骤如下:
- 在 head 的目录下通过命令行
npm run start
启动它 - 通过浏览器访问 http://localhost:9100,并连接集群的任意一个节点,如下图:
除了这种安装方式,还可以给 Chrome 浏览器安装一个 Elasticsearch Head 插件,可以实现同样的效果。
3、Kibana 安装
Kibana 一个针对 ES 的开源分析及可视化平台,功能强大,和 Elasticsearch 是一家的产品。安装也比较简单,可以通过如下步骤完成:
- 确保已经安装了nodejs
- 选择合适的版本下载 https://www.elastic.co/cn/downloads/kibana,我们这里选择和 ES 对应的 windows 7.9.3版本
- 解压合适你的目录,之后可以对其 config 目录下的
kibana.yml
进行如下配置:
# 端口配置(默认就是5601)
server.port: 5601
# 配置成自己的 ES 节点地址,多个地址用英文逗号隔开(默认就是这个)
elasticsearch.hosts: ["http://localhost:9200"]
# 汉化(汉化效果一般般啦)
i18n.locale: "zh-CN"
-
通过如下的命令行启动 Kibana:
-
浏览器访问 http://localhost:5601/,连接到 Kibana
现阶段我们主要使用其中的开发工具功能模块 http://localhost:5601/app/dev_tools#/console,在里边使用 RESTful 风格的 API 来操作 ES,发送 RESTful 请求也可以使用 PostMan,但个人感觉 Kibana 更方便些,会有提示,对初学者也是比较友好的。
网友评论