Ambari 集群 + 将蓝图 json 文件上传到 ambari 集群的正确语法是什么
Ambari cluster + what is the right syntax in order to upload blueprint json file to ambari cluster
我们有 Ambari 集群 版本 2.5.0.3,而所有客户端机器都是 Linux redhat
首先我生成 json 文件到我的 Linux 机器如下:(在 ambari 服务器机器上)
curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://130.14.6.28:8080/api/v1/clusters/HDP01\?format\=blueprint > blueprint.json
然后我更新 blueprint.json 文件,对参数及其值进行一些更改
最后我的目标是将新的 blueprint.json 上传到 ambari 集群以便生效!
path=/root
curl -H "X-Requested-By: ambari" --data @ -X POST -u admin:admin http://130.14.6.28:8080/api/v1/blueprints/HDP01 -d @$path/blueprint.json
但我收到以下错误(似乎是因为语法错误)
Warning: Couldn't read data from file "", this makes an empty POST. {
"status" : 400, "message" : "Invalid Request: Malformed Request Body. An
exception occurred parsing the request body: Unexpected character ('&'
(code 38)): expected a valid value (number, String, array, object, 'true',
'false' or 'null')\n at [Source: java.io.StringReader@4a3484a6; line: 1,
column: 3]"
请指教我的语法有什么问题?
上传新更新的正确语法是什么blueprint.json 文件
您是否尝试在线验证您的 JSON,例如在 https://jsonformatter.curiousconcept.com/ ?
看起来问题出在一般 JSON 语法
在用于上传新 bloueprint.json 的 curl 命令中,您正在使用 --data @
以及 -d @$path/blueprint.json
。 -d
和 --data
用于相同目的,因此第一次出现,即 --data @
生效,命令试图找到没有路径的文件,即 ""
。
您可以删除 --data @
以修复 Couldn't read data from file ""
错误。
我们有 Ambari 集群 版本 2.5.0.3,而所有客户端机器都是 Linux redhat
首先我生成 json 文件到我的 Linux 机器如下:(在 ambari 服务器机器上)
curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://130.14.6.28:8080/api/v1/clusters/HDP01\?format\=blueprint > blueprint.json
然后我更新 blueprint.json 文件,对参数及其值进行一些更改
最后我的目标是将新的 blueprint.json 上传到 ambari 集群以便生效!
path=/root
curl -H "X-Requested-By: ambari" --data @ -X POST -u admin:admin http://130.14.6.28:8080/api/v1/blueprints/HDP01 -d @$path/blueprint.json
但我收到以下错误(似乎是因为语法错误)
Warning: Couldn't read data from file "", this makes an empty POST. {
"status" : 400, "message" : "Invalid Request: Malformed Request Body. An
exception occurred parsing the request body: Unexpected character ('&'
(code 38)): expected a valid value (number, String, array, object, 'true',
'false' or 'null')\n at [Source: java.io.StringReader@4a3484a6; line: 1,
column: 3]"
请指教我的语法有什么问题?
上传新更新的正确语法是什么blueprint.json 文件
您是否尝试在线验证您的 JSON,例如在 https://jsonformatter.curiousconcept.com/ ? 看起来问题出在一般 JSON 语法
在用于上传新 bloueprint.json 的 curl 命令中,您正在使用 --data @
以及 -d @$path/blueprint.json
。 -d
和 --data
用于相同目的,因此第一次出现,即 --data @
生效,命令试图找到没有路径的文件,即 ""
。
您可以删除 --data @
以修复 Couldn't read data from file ""
错误。