ITPub博客

首页 > IT基础架构 > > elastic search--集群搭建

elastic search--集群搭建

作者:格伯纳 时间:2020-05-29 14:00:51 0 删除 编辑

前言

今天开始搭建下ES的集群,ES的集群是由多个相同cluster.name 配置的节点组成的,每个节点是一个运行ES的实例,换句说就是就是执行了多少个./bin/elasticsearch。具体可以参考官方的介绍。但是官网的实例用的是一个节点,就是运行了一个./bin/elasticsearch实例,然后设置了多个数据存储路径。再该系列中运行了三个节点,每个节点对应的数据存储地址。

其中ES有很多新的专业术语,尤其是再进行映射和分析的时候,后面咱们会用大家熟知的知识,通俗易懂的讲解。先来看下简单的集群搭建。

集群搭建

下载地址:Download Elasticsearch

Ubuntu上直接执行命令

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.zip

解压,执行命令

unzip elasticsearch-5.6.2.zip

重命名,执行命令

mv elasticsearch-5.6.2 elasticsearch

复制elasticsearch三分(即后面的三个节点),执行命令

for loop in 1 2;  do cp -r elasticsearch elasticsearch_$loop; done

创建3个文件夹(数据存储的地方,坚持一个原则数据、程序分离),执行命令

a=
for loop in  1 2; do if [  $a -eq $loop  ]; then  mkdir elastic; else mkdir elastic_$loop; fi; done

最终结果如下:

然后随便进入一个节点执行一下命令:

elasticsearch/bin/elasticsearch -version

得到如下版本信息:

Version: 5.6.2, Build: 57e20f3/2017-09-23T13:16:45.703Z, JVM: 1.8.0_144

到目前位置,只是经过一些列的手动一下操作了三个 ES实例,但是并不是一个集群,也只能成为独立的节点。如果想要把这三个ES实例搭建成一个集群,那需要进行下配置。

ES配置

如果想构建一个集群,其实很简单,其实在前言的时候已经介绍过了,就是在配置文件中设置cluster.name的值一致即可。

首先进入每个实例的配置文件,

/elasticsearch/config/elasticsearch.yml

以第一个节点配置文件更改如下:

cluster.name: web_news_query
node.name: news_5001_data
path.data: /home/ubuntu/elastic/data
path.logs: /home/ubuntu/elastic/logs
network.host: 0.0.0.0
http.port: 5001

这里port是5001,其中docker映射后访问的是36001

同理再另外两个实例进行同样操作(端口、node.name、db&log路径注意是需要独立更改的)。然后详细的配置就不再这里解说了,可以参考中文官网

启动节点

启动节点就一条命令

./bin/elasticsearch

这里启动了三个节点,如图:

启动后通过浏览器验证下,访问:

192.168.1.2:36001/?

192.168.1.2:36002/?

192.168.1.2:36003/?

浏览器输出的结果(以36001为例):

  "name": "news_5001_data",
    "cluster_name": "web_news_query",
    "cluster_uuid": "8lUEVCk8Qp-CdKtMbCBouQ",
    "version": {
        "number": "5.6.2",
        "build_hash": "57e20f3",
        "build_date": "2017-09-23T13:16:45.703Z",
        "build_snapshot": false,
        "lucene_version": "6.6.1"
    },
    "tagline": "You Know, for Search"
}

这样表示节点已经正常启动,这样一个集群就搭建好了。然后让我们用一个可视化工具与ES进行友好的交互吧!

Kibana可视化工具

下载Kibana,地址:download Linux 64-BIT

解压后如图:

下一步就是配置Kibana的配置文件,编辑配置文件

kibana-5.6.2-linux-x86_64/config/kibana.yml

配置如下:

#对外访问为 36005
server.port: 5005 
server.host: "0.0.0.0"
#因为在同一台虚拟机上,所以可以用localhost
elasticsearch.url: "http://localhost:5001"

然后启动Kibana,执行命令:

kibana-5.6.2-linux-x86_64/bin/kibana

启动后的结果如下:

通过浏览器访问 http://192.168.1.2:36005/,怎会展示如下结果:

这就代表了Kibana已经启动成功,既然搭建了一个集群,来看下集群的健康状况,点击Kibana功能“Dev Tools”进入console控制台,执行如下命令:

GET /_cluster/health

右侧展示的结果:

{
  *集群名称*
  "cluster_name": "web_news_query",
  *集群状态*
  "status": "green",
  "timed_out": false,
  *集群节点数*
  "number_of_nodes": 3,
  *数据节点数*
  "number_of_data_nodes": 3,
  "active_primary_shards": 1,
  "active_shards": 2,
  "relocating_shards": ,
  "initializing_shards": ,
  "unassigned_shards": ,
  "delayed_unassigned_shards": ,
  "number_of_pending_tasks": ,
  "number_of_in_flight_fetch": ,
  "task_max_waiting_in_queue_millis": ,
  "active_shards_percent_as_number": 100

从以上返回的结果可以看到,集群的运行状况是良好的。到目前位置集群已经搭建完毕,下一步讲解下集群监控中的集群监控状况,即:status的值

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3139132/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    983949