
# 安全组策略设置不合理导致集群不可用
#### 问题现象
"集群状态"为"不可用"。
单击集群名称进入集群详情页面，选择"日志管理 \> 日志查询"，可见日志内容存在警告"master not discovered or elected yet, an election requires at least 2 nodes with ids \[xxx, xxx, xxx, ...\], have discovered \[xxx...\] which is not a quorum"。
图1节点报错日志示例   
![](https://support.huaweicloud.com/trouble-css/figure/zh-cn_image_0000001950381896.png "点击放大")
#### 原因分析
出现以上报错日志表示集群各节点之间无法通信，导致集群无法进行选主，可能原因是集群当前所选安全组未放通9300端口。
![](https://support.huaweicloud.com/trouble-css/public_sys-resources/note_3.0-zh-cn.png)
当Elasticsearch集群版本大于或等于7.6.2时，集群内通信端口9300默认开放在用户VPC的子网上。集群所选安全组需要放通子网内的9300通信端口才能保证节点之间通信。
#### 处理步骤
1. 在集群管理页面，单击不可用的集群名称，进入集群详情页面。
2. 选择"概览"页签。
3. 在"网络信息"下方单击"安全组"名称，进入当前集群所选安全组的详情页面。
4. 分别查看"入方向规则"和"出方向规则"页签下，是否存在或包含"策略"为"允许"，"协议端口"为"TCP : 9300"，"类型"为"IPv4"的安全组规则。
   - 是，联系技术支持定位集群不可用问题。
   
   - 否，执行下一步。
    
5. 修改当前集群使用的安全组信息，放通9300通信端口。
   1. 在安全组详情页面，选择"入方向规则"页签。
   
   2. 单击"添加规则"，在添加入方向规则对话框设置"优先级"为"100"，"策略"选择"允许"，"协议端口"选择"基本协议/自定义TCP"，端口填写"9300"，"类型"选择"IPv4"，"源地址"选择"安全组"下的集群当前安全组名称，即同安全组内放通。
      图2添加安全组规则   
      ![](https://support.huaweicloud.com/trouble-css/figure/zh-cn_image_0000001981501309.png "点击放大") 
   
   3. 单击"确定"即可完成放通9300端口的设置。
   
   4. 同样的步骤，在"出方向规则"页签添加放通9300端口的设置。
    
6. 安全组放通9300端口后，等待集群自动恢复可用状态。
 
