单步创建集群即对于集群内每个服务的安装、开启。组成服务的每个组件host信息的设置等操作都进行一次ambari-server的restAPI的调用。
这样做提高了对集群操作的灵活性。因为Blueprint的出现是在ambari 1.5版本号之后,对非HDP版本号的支持性可能存在不足,故调ambari-server的restAPI採用的是ambari单步创建集群的调用方式。
须要注意的是:在调用restAPI加入服务等操作请先确定该服务已经在stack中。
{
"Clusters": {
"version" : "BAIDU-1.0”
}
}
**curl -u admin:admin -i -X POST -d '{"Clusters":{"version":"BAIDU-1.0"}}' -H "X-Requested-By:ambari" http://
**
host>
**curl -u admin:admin -i -X POST -H "X-Requested-By:ambari" http://nj01-hadoop-rd03.nj01.baidu.com:8080/api/v1/clusters/abaciCluster/hosts/nj01-hadoop-rd03.nj01.baidu.com**
host> = nj01-hadoop-rd03.nj01.baidu.com
注意:假设一个集群有多台host 那么调用多次命令。
採用HTTP POST http://
request body
**{
"ServiceInfo": {
"service_name": "HDFS"
}
}**
实际命令
**curl -u admin:admin -i -X POST -d '{"ServiceInfo":{"service_name":"HDFS"}}' -H "X-Requested-By:ambari" http://nj01-hadoop-rd03.nj01.com:8080/api/v1/clusters/abaciCluster/services**
当中
加入服务组件 (包含namenode datanode)
採用HTTP POST http://
实际命令
**curl -u admin:admin -i -X POST -H "X-Requested-By:ambari" http://nj01-hadoop-rd03.nj01.com:8080/api/v1/clusters/abaciCluster/services/HDFS/components/NAMENODE**
**curl -u admin:admin -i -X POST -H "X-Requested-By:ambari" http://nj01-hadoop-rd03.nj01.com:8080/api/v1/clusters/abaciCluster/services/HDFS/components/DATANODE**
当中
NAMENODE/DATANODE
注意:调用restapi的次数有该服务的组件种类决定。
*採用HTTP POST http://
*request body 以hadoop-user-info.properties.xml为例*
**{
"type": "hadoop-user-info.properties",
",
"properties": {
"root_ugi": "root,baidu",
"user_ugi": "public,slave",
"content": " # Format: username=password,group1,group2,group3 root=baidu,root public=slave,slave "
}
}**
上面的key-value值会存储在command-json中
实际命令:
curl -u admin:admin -i -X POST -d '{"type":"hadoop-user-info.properties","tag":"1","properties":{"root_ugi":"root,baidu","user_ugi":"public,slave","content":" # Format: username=password,group1,group2,group3 root=baidu,root
public=slave,slave "}}' -H "X-Requested-By:ambari" http://
注意:配置项非常多。可能须要调用多次该restapi。
HTTP PUT 请求 http://
**request body
**
**{
"Clusters": {
"desired_configs": {
"type": "hadoop-user-info.properties",
"tag": ""
}
}
}**
实际命令
curl -u admin:admin -i -X PUT -d '{ "Clusters" : {"desired_configs": {"type": "hadoop-user-info.properties", "tag" : "1" }}}' -H "X-Requested-By:ambari" http://
*HTTP POST请求 http://
request body
**{
"host_components": [
{
"HostRoles": {
"component_name": "NAMENODE"
}
}
]
}**
实际命令
**curl -u admin:admin -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"NAMENODE"}}]}' -H "X-Requested-By:ambari" http://
**
Hosts/host_name=nj01-hadoop-rd03.nj01.com
curl -u admin:admin -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"DATANODE"}}]}' -H "X-Requested-By:ambari" http://
curl -u admin:admin -i -X POST -d '{"host_components":[{"HostRoles":{"component_name":"DATANODE"}}]}' -H "X-Requested-By:ambari" http://
服务安装
*HTTP PUT 请求 http://
request body
**{
"ServiceInfo": {
"state": "INSTALLED"
}
}**
实际命令:
curl -u admin:admin -i -X PUT -d '{"ServiceInfo": {"state" : "INSTALLED"}}' -H "X-Requested-By:ambari" http://
服务开启
*HTTP PUT 请求 http://
request body
**{
"ServiceInfo": {
"state": "STARTED"**
}
}
实际命令:
curl -u admin:admin -i -X PUT -d '{"ServiceInfo": {"state" : "STARTED"}}' -H "X-Requested-By:ambari" http://
服务关闭
文章有修改过 详细关于ambari的问题能够联系我 大家一起讨论一下
手机扫一扫
移动阅读更方便
你可能感兴趣的文章