单服务器 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
网友评论