我想知道停止和启动cloudera CDH5.2群集的命令行。
原因,我正在编写一个自动化脚本来运行一些基准测试,并希望在开始每个基准测试之前停止并启动集群。
我看到停止CDH群集并不完全等同于: -
service cloudera-scm-server stop
service cloudera-scm-server-db stop
service cloudera-scm-agent stop
答案 0 :(得分:2)
如果停止scloudera scm服务器/代理,则不会停止服务。为此:
您需要使用curl向您的cloudera scm服务器发出REST请求。
文档在这里: http://cloudera.github.io/cm_api/apidocs/v5/
以下是我的一个例子:
PARAM="/api/$CV/clusters/$CLUSTER_NAME/commands/start"
echo "starting all services"
curl -X POST -u "$LOGIN:$PASS" "http://""$HOSTNAME""$PARAM"
不要忘记更改主机名。主机名指向cloudera管理器服务器。
您可以找到我没有完成的完整脚本,但可以帮助您:http://pastebin.com/d71is5Sx
答案 1 :(得分:0)
https://milandas.wordpress.com/2018/12/25/automate-your-hadoop-cluster-cdh-part-2/
export basicauth=admin:admin
export apiVersion=$(curl -k -s -X GET -u "${basicauth}" $(hostname -f):7180/api/version)
export apiURL=http://$(hostname -f):7180/api/${apiVersion}
curl -u "${basicauth}" \
-H "Content-Type: application/json" \
-X POST \
--data '{}' \
${apiURL}/cm/service/commands/stop