我正在尝试向正在运行的Apache falcon服务器提交群集定义。服务器在分布式节点中运行,前面有一个Prism实例。 两者都在我的机器上运行http和本地。我正在执行以下命令
falcon entity -type cluster -submit -file /projects/falcon/examples/primary-cluster.xml
结果是:
Client Response POST http://localhost:16000/api/entities/submit/cluster returned a response status of 400 Bad Request Error: Bad Request;local/Current colo (default) is not local
所以我想我的问题是本地/当前colo(默认)不是本地的意味着我认为这是一个xml错误,但我不能100%。我运行了一个单元测试解析我提交的文件对照相应的xsd并且它解析得很好。
这是我发送的xml(primary-cluster.xml)
<cluster colo="default" description="Primary Cluster"
name="local-cluster"
xmlns="uri:falcon:cluster:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<tags>class=dev,site=local</tags>
<interfaces>
<interface type="readonly" endpoint="hftp://localhost:50010" version="1.1.2"/>
<interface type="write" endpoint="hdfs://localhost:9000" version="2.4.0"/>
<interface type="execute" endpoint="localhost:9001" version="2.4.0"/>
<interface type="workflow" endpoint="http://localhost:11000/oozie/" version="4.0.1"/>
<interface type="messaging" endpoint="tcp://localhost:61616?daemon=true" version="5.4.3"/>
</interfaces>
<locations>
<location name="staging" path="/staging"/>
<location name="temp" path="/tmp"/>
<location name="working" path="/working"/>
</locations>
可以找到xml xsd here
答案 0 :(得分:1)
解决方案相当容易。我的棱镜实例配置错误。我看到的错误不是xml解析之一,而是说某个colo没有我试图上传到的集群。
所以转到$ PRISM_HOME / config / runtime.properties(或者每当你放入运行时属性时)并添加以下行
prism.falcon.default.endpoint=http://localhost:15000
其中 默认 实际上是我给loco的名称(而不是默认名称,还没有想出如何更改它)。 Localhost是我部署我的falcon实例的地方,15000是它正在运行的端口。
希望有所帮助, 干杯彼得