当我试图在Falcon中提交集群实体时出错。
提交时输出错误:
org.apache.falcon.client.FalconCLIException: Bad Request;Cluster definition missing required namenode credential property: dfs.namenode.kerberos.principal
at org.apache.falcon.client.FalconCLIException.fromReponse(FalconCLIException.java:44)
at org.apache.falcon.client.FalconClient.checkIfSuccessful(FalconClient.java:1172)
at org.apache.falcon.client.FalconClient.sendEntityRequestWithObject(FalconClient.java:694)
at org.apache.falcon.client.FalconClient.submit(FalconClient.java:323)
at org.apache.falcon.cli.FalconCLI.entityCommand(FalconCLI.java:364)
at org.apache.falcon.cli.FalconCLI.run(FalconCLI.java:183)
at org.apache.falcon.cli.FalconCLI.main(FalconCLI.java:133)
我用以下方法解决了这个问题。您可以在提要或集群的结束标记之前将以下标记添加到实体xml中
<properties>
<property name="dfs.namenode.kerberos.principal" value="nn/master.example.com"/>
</properties>
在上面的master中,example.com是名称节点所在的主机名。
您的集群被kerberized了吗?然后更好地检查,http://falcon.apache.org/Security.html
- 身份验证方法
- 身份验证配置
- 授权配置