ElasticSearch集群cluster配置

本文介绍了如何从零开始搭建Elasticsearch集群,包括单机环境的状态查看、集群节点的工作原理、多节点集群的配置步骤及插件安装,并演示了如何加载测试数据。

首先查看cluster状态,下面是一台单机的ES,它是下载的文件解压后直接启动的结果,即一个单机,或者说空集群。

[appadmin@hadoop4 elasticsearch]$ curl 'localhost:9200/_cluster/health?pretty'
{
  "cluster_name" : "elasticsearch",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 10,
  "active_shards" : 10,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 10,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0
}
[appadmin@hadoop4 elasticsearch]$

其中三种健康状态green yellow red。

颜色意义
green所有主要分片和复制分片都可用
yellow所有主要分片可用,但不是所有复制分片都可用
red不是所有的主要分片都可用

集群节点的工作原理简述:

一个节点(node)就是一个Elasticsearch实例,而一个集群(cluster)由一个或多个节点组成,它们具有相同的cluster.name,它们协同工作,分享数据和负载。当加入新的节点或者删除一个节点时,集群就会感知到并平衡数据。+


集群中一个节点会被选举为主节点(master),它将临时管理集群级别的一些变更,例如新建或删除索引、增加或移除节点等。主节点不参与文档级别的变更或搜索,这意味着在流量增长的时候,该主节点不会成为集群的瓶颈。任何节点都可以成为主节点。我们例子中的集群只有一个节点,所以它会充当主节点的角色。


做为用户,我们能够与集群中的任何节点通信,包括主节点。每一个节点都知道文档存在于哪个节点上,它们可以转发请求到相应的节点上。我们访问的节点负责收集各节点返回的数据,最后一起返回给客户端。这一切都由Elasticsearch处理。


下面介绍集群配置方法。

环境是三台机器:

192.168.0.16  esnode1

192.168.0.12  esnode2

192.168.0.15  esnode0

OS内核3.10.0-229.el7.x86_64。ES版本2.2.1。

esnode0做master,其他为slave。

在每台机器上解压从官网下载的文件包到/opt/elasticsearch。

Master的配置:

[appadmin@hadoop4 config]$ pwd
/opt/elasticsearch/config
[appadmin@hadoop4 config]$ grep -v '^#' elasticsearch.yml 
cluster.name: esapp
node.name: esnode0
node.master: true
node.data: true
network.host: 0.0.0.0
[appadmin@hadoop4 config]$

Slave的配置:

[appadmin@hadoop3 config]$ grep -v '^#' elasticsearch.yml
cluster.name: esapp
node.name: esnode2
node.master: false
node.data: true
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["esnode0"]
[appadmin@hadoop3 config]$

这是最简单的配置。其中,network.host: 0.0.0.0代表了没有绑定具体的ip,这样其他机器可以通过9200这个默认端口通过http方式访问查看服务。而slave中的discovery.zen.ping.unicast.hosts指定了master的地址。


然后可以安装一个插件:

[appadmin@hadoop4 bin]$ pwd
/opt/elasticsearch/bin
[appadmin@hadoop4 bin]$ ./plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /opt/elasticsearch/plugins/head
[appadmin@hadoop4 bin]$ ./plugin list
Installed plugins in /opt/elasticsearch/plugins:
    - head
[appadmin@hadoop4 bin]$

可以通过http://10.120.20.206:9200/_plugin/head/ 查看信息。


可以增加以下测试数据,数据来源:https://github.com/bly2k/files/blob/master/accounts.zip?raw=true

通过下面命令加载进去 curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"

转载于:https://my.oschina.net/shawnplaying/blog/649855

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值