我想知道停止和启动 cloudera CDH5.2 集群的命令行。
原因,我正在编写一个用于运行一些基准测试的自动化脚本,并希望在开始每个基准测试之前停止和启动集群。
我已经看到停止 CDH 集群并不完全等同于:-
服务 cloudera-scm-server 停止
服务 cloudera-scm-server-db 停止
服务 cloudera-scm-agent 停止
我想知道停止和启动 cloudera CDH5.2 集群的命令行。
原因,我正在编写一个用于运行一些基准测试的自动化脚本,并希望在开始每个基准测试之前停止和启动集群。
我已经看到停止 CDH 集群并不完全等同于:-
服务 cloudera-scm-server 停止
服务 cloudera-scm-server-db 停止
服务 cloudera-scm-agent 停止
如果您停止 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
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