0
我想監視在集羣上單獨節點上安裝的Apache水槽代理。像開始時的水槽代理,當我需要的時候停下來。特別是我的Java應用程序只安裝在集羣的特定節點上。在集羣上啓動和停止Apache水槽代理
我做了研究,但找不到合適的結果。
我想監視在集羣上單獨節點上安裝的Apache水槽代理。像開始時的水槽代理,當我需要的時候停下來。特別是我的Java應用程序只安裝在集羣的特定節點上。在集羣上啓動和停止Apache水槽代理
我做了研究,但找不到合適的結果。
您可以設置一個cron來定期運行python腳本,並使用Cloudera Manager Python API(https://cloudera.github.io/cm_api/docs/python-client/#inspecting-a-service)執行這些類型的操作。我已經爲您編寫了以下腳本:
from cm_api.api_client import ApiResource
CM_HOST = "ENTER_HOST"
CM_USER = "ENTER_USR_NAME"
CM_PASSWD = "ENTER_PASSWD"
DATA_CLUSTER = "ENTER_CLUSTER"
SERVICE_LIST=[ #Find out service names by looking in CM > Service > Charts Library > Charts Builder
"flume19",
"flume20",
"flume21",
etc,
etc,
]
api = ApiResource(CM_HOST, version=5, username=CM_USER, password=CM_PASSWD, use_tls=True)
cluster = api.get_cluster(DATA_CLUSTER)
for i in range (len(SERVICE_LIST)):
service = cluster.get_service(SERVICE_LIST[i])
for role in service.get_all_roles():
if service.roleState = "STOPPED":
service.restart_roles(role.name)[0]
這將檢查角色狀態是否已停止,如果是,則再次啓動它。但是,如果您參考上述鏈接,則可以使用API做更多的事情。這似乎是一個合理的起點。
你的問題不是特別清楚,所以請原諒我,如果這不是你以後的信息!
謝謝。