作爲羣集管理員或羣集操作員,您可以啓用堆棧中的每個服務以自動重新啓動。啓用服務的自動啓動會導致ambari-agent嘗試在停止狀態下重新啓動服務組件,而無需用戶手動操作。作爲第一步,您應該爲核心Hadoop服務中的工作節點,YARN和HDFS中的DataNode和NameNode組件啓用自動啓動。您還應該爲SmartSense服務中的所有組件啓用自動啓動。啓用自動啓動後,在Ambari Web儀表板上監控服務的運行狀態。自動啓動嘗試不會顯示爲後臺操作。要管理服務中組件的自動啓動狀態,請執行以下操作:
第一步:
- 在Ambari Web > Cluster Admin中 Service Auto Start,單擊“ 服務自動啓動”。
默認情況下啓用自動啓動設置,但默認情況下僅將Ambari Metrics Collector組件設置爲自動啓動。
- 要將自動啓動設置從“已啓用”切換爲“已禁用”並返回,請單擊“自動啓動設置”按鈕。
- 要將組件設置爲自動重新啓動,請單擊組件的“ 自動啓動”複選框。
- 要將所有組件設置爲自動啓動,請單擊“ 自動啓動” 複選框。
- 要在保存之前清除所有掛起狀態更改,請單擊“ 取消”。
- 完成對自動啓動設置的更改後,單擊“ 保存”。
第二步:
1、檢查自動恢復設置,master節點上輸入以下命令,查看設置:
curl -u admin:<password> -i -H 'X-Requested-By: ambari' -X GET http://localhost:8080/api/v1/clusters/<cluster_name>/components?fields=ServiceComponentInfo/component_name,ServiceComponentInfo/service_name,ServiceComponentInfo/category,ServiceComponentInfo/recovery_enabled
注意,您需要使用自己的<password>和<cluster_name>替換。
curl -u admin:admin -i -H 'X-Requested-By: ambari' -X GET http://localhost:8080/api/v1/clusters/Siger/components?fields=ServiceComponentInfo/component_name,ServiceComponentInfo/service_name,ServiceComponentInfo/category,ServiceComponentInfo/recovery_enabled
要爲單個組件啓用自動恢復
"recovery_enabled" : "false",改成"recovery_enabled" : "true",
2、master節點上輸入以下命令,修改設置:
curl -u admin:<password> -H "X-Requested-By: ambari" -X PUT 'http://localhost:8080/api/v1/clusters/<cluster_name>/components?ServiceComponentInfo/component_name.in(HBASE_REGIONSERVER)' -d '{"ServiceComponentInfo" : {"recovery_enabled":"true"}}'
curl -u admin:admin -H "X-Requested-By: ambari" -X PUT 'http://localhost:8080/api/v1/clusters/Siger/components?ServiceComponentInfo/component_name.in(ZKFC,ZOOKEEPER_CLIENT,ZOOKEEPER_SERVER,NAMENODE,SECONDARY_NAMENODE,DATANODE,NFS_GATEWAY,JOURNALNODE,HDFS_CLIENT,NIMBUS,STORM_UI_SERVER,SUPERVISOR,DRPC_SERVER,HBASE_MASTER,HBASE_REGIONSERVER,PHOENIX_QUERY_SERVER,HBASE_CLIENT,KAFKA_BROKER,METRICS_COLLECTOR,METRICS_GRAFANA,METRICS_MONITOR)' -d '{"ServiceComponentInfo" : {"recovery_enabled":"true"}}'
3、瀏覽器訪問http://localhost:8080/api/v1/clusters/Siger/components?,確認是否修改成功
物理斷電或者服務非正常停止的情況下會自動重啓