当前位置:首页 » 其他

Elasticsearch集群配置

2016-03-01 15:49 本站整理 浏览(14)
【零】据说ES的分布式功能做的非常强~直接贴官方翻译
Elasticsearch致力于隐藏分布式系统的复杂性。以下这些操作都是在底层自动完成的:
将你的文档分区到不同的容器或者分片(shards)中,它们可以存在于一个或多个节点中。
将分片均匀的分配到各个节点,对索引和搜索做负载均衡。
冗余每一个分片,防止硬件故障造成的数据丢失。
将集群中任意一个节点上的请求路由到相应数据所在的节点。
无论是增加节点,还是移除节点,分片都可以做到无缝的扩展和迁移。
 【一】基本概念
集群(cluster)里面有多个节点(node),节点里面有多个分片(Sharding);
一个节点是一个ES运行实例,ES节点创建的时候确定本节点中含有的分片个数
索引(index) —— 一个用来指向n个分片(shards)的“逻辑命名空间(logical namespace)
创建索引的时候会指定需要几个主分片、要几份复制分片,默认是5+1
存    储:集    群 => 节点=> 分片
数    据:索    引=> 类型=> 文档=> 字段
数据库:数据库 => 表=> 行数据=> 列数据
分片 = 主分片+复制分片,二者不再同一个节点上
【二】搭建集群环境
查看集群状态
curl -XGET http://ip:9200/_cluster/health?pretty {
  "cluster_name" : "my-es-cluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,#总节点数
  "number_of_data_nodes" : 1,#总数据节点数
  "active_primary_shards" : 0,#集群内所有索引的主分片总数
  "active_shards" : 0,#集群内所有索引的分片总数
  "relocating_shards" : 0,#正在迁移中的分片数
  "initializing_shards" : 0,#正在初始化的分片数
  "unassigned_shards" : 0,#未分配到具体节点上的分片数
  "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" : 100.0
}

集群状态有三种颜色取值:green(所有主要分片和复制分片都可用)、yellow(所有主要分片可用,但不是所有复制分片都可用)、 red(不是主要的所有分区都能用)
配置一个集群
1、修改elasticsearch配置文件 
sudo vim elasticsearch/config/elasticsearch.yml

2、修改指定项
#集群名字一样
cluster.name: my-es-cluster
#节点名字不一样
node.name: node-2

#节点ip,根据自己的机器来
network.host: 10.xx.xx.xxx
#节点对外端口,不同的节点不一样,注意范围9200~9300
http.port: 9202

#默认寻找集群节点
discovery.zen.ping.unicast.hosts: ["10.xx.xx.xxx:9300"]

 3、启动&检查
./elasticsearch_1/bin/elasticsearch &
./elasticsearch_2/bin/elasticsearch &
./elasticsearch_3/bin/elasticsearch &

PUT /blogs
{
   "settings" : {
      "number_of_shards" : 3,#本索引需要3个主分片
      "number_of_replicas" : 1#每个主分片需要1个复制分片
   }
}

集群配置文件详解 http://www.cnblogs.com/hdflzh/p/4103226.html http://www.cnblogs.com/yjf512/p/4865930.html
 
【三】集群管理
1、集群原始正常状态

 
2、集群丢失节点

 
3、集群自我修复

 4、集群的增加节点也是同样的道理咯
 
 相关推荐
ElasticSearch安装与基本使用
http://java--hhf.iteye.com/blog/2270424