美文网首页
多服务器 docker elasticsearch集群

多服务器 docker elasticsearch集群

作者: 勇不言弃92 | 来源:发表于2019-08-14 17:32 被阅读0次

单服务器 elasticsearch集群
手动配置 多服务器 elasticsearch集群

两台服务器,

主节点:服务器A
从节点:服务器B
亲测有效,不成功的话留言回复

主节点---服务器A

以下3个文件放在服务器A的路径中,需要注意一下相对路径,cd 到docker-compose.yml所在路径,执行

docker-compose up

docker-compose.yml

version: '3'
services:
  elasticsearch:
    image: elasticsearch:6.7.1
    container_name: es_master
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms1G -Xmx1G"
    volumes:
      - esdata:/usr/share/elasticsearch/data
      - ./es/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml:rw
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - esnet
  kibana:
    image: kibana:6.7.1
    container_name: kibana
    ports:
      - 5601:5601
    volumes:
      - ./kibana/kibana.yml:/usr/share/kibana/config/kibana.yml:rw
    networks:
      - esnet
volumes:
  esdata:
    driver: local
  esdata2:
    driver: local
networks:
  esnet:

kibana.yml

server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN

es.yml

cluster.name: "wwzb"
node.name: node-master
node.master: true
node.data: true
network.host: 0.0.0.0
network.publish_host: A-IP
discovery.zen.ping.unicast.hosts: ["B-IP"]
discovery.zen.minimum_master_nodes: 1
cluster.routing.allocation.disk.threshold_enabled: false

开始时没有设置“cluster.routing.allocation.disk.threshold_enabled”集群的副本分片未分配节点,健康状态一直是yellow,添加后就变成green了。我这边是‘node-master’节点未分配分片,如果是从节点未分配到分片的话则将这个配置加在从节点的配置文件中

从节点---服务器B

以下2个文件放在服务器B的路径中,需要注意一下相对路径,cd 到docker-compose.yml所在路径,执行

docker-compose up

docker-compose.yml

version: '3'
services:
  elasticsearch:
    image: elasticsearch:6.7.1
    container_name: es_node
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms1G -Xmx1G"
    volumes:
      - esdata:/usr/share/elasticsearch/data
      - ./es/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml:rw
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - esnet
volumes:
  esdata:
    driver: local
networks:
  esnet:

es.yml

cluster.name: "wwzb"
node.name: node-1
node.master: false
node.data: true
network.host: 0.0.0.0
network.publish_host: B-IP
discovery.zen.ping.unicast.hosts: ["A-IP"]

启动后

两个节点都运行后通过“A-IP:5601”可使用kibana查看集群

kibana上的一些操作

#节点详情
GET _nodes
#节点列表
GET _cat/nodes
#集群健康状态
GET _cat/health
GET _cluster/health?pretty
#索引分片配置信息
GET _cat/shards
GET _cat/shards?h=index,shard,prirep,state,unassigned.reason
#某索引分片配置信息“indexName”
GET _cat/shards/{indexName}
#删除某索引下某类型的某文档
DELETE {index}/{type}/{id}
#删除某索引,test* 可匹配test1、test2...
DELETE {index}
#设置副本分片数量
PUT /_settings
{
    "index": {
       "number_of_replicas": "1"
    }
}
#节点的信息
GET _cat/nodes?v&h=id,ip,port,r,ramPercent,ramCurrent,heapMax,heapCurrent,fielddataMemory,queryCacheMemory,requestCacheMemory,segmentsMemory

相关文章

网友评论

      本文标题:多服务器 docker elasticsearch集群

      本文链接:https://www.haomeiwen.com/subject/dqsnjctx.html