我们有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 文件的正确语法是什么
答案 0 :(得分:0)
您是否尝试在线验证您的JSON,例如在https://jsonformatter.curiousconcept.com/? 看起来问题是一般的JSON语法
答案 1 :(得分:0)
在用于上传新bloueprint.json的curl命令中,您使用的是--data @
以及-d @$path/blueprint.json
。 -d
和--data
用于相同的目的,因此首次出现,即--data @
生效,命令尝试定位没有路径的文件,即""
。
您可以删除--data @
以修复Couldn't read data from file ""
错误。