我正在使用Apache Nifi 1.7,并且试图使用一个使用Hortonwors Schema Registry服务控制器读取架构元数据的RecordWritter。
但是,此控制器服务没有其他Nifi处理器具有的任何KErberos配置属性,例如“ KErberos凭据服务”,所以我收到401错误:尝试从Hortonworks Schema Registry中读取架构时需要身份验证。
有趣的是,此工作流在停止nifi流之前,之后,将群集移至另一个LAN并再次重新启动该流之前都已经开始工作,但它开始失败。我在这里丢弃了任何网络问题,因为kerberos和架构注册表与以前一样保留了URI,并且可以像以前一样使用curl从命令行查询注册表服务。
是否可以使Hortonworks schema注册表控制程序与Kerberos一起使用?
在1.7.0中,唯一的方法是通过JAAS文件,其中带有RegistryClient的条目,例如:
RegistryClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="REPLACE_WITH_KEYTAB"
storeKey=true
useTicketCache=false
principal="REPLACE_WITH_PRINCIPAL";
};
然后在nifi的bootstrap.conf中,您需要指定系统属性:
java.arg.16 = -Djava.security.auth.login.config = / path / to / jaas.conf
在1.10.0中,服务中具有新属性,可使其更易于配置。