如何在主从模式下运行模式注册表

时间:2017-05-11 06:06:22

标签: confluent confluent-schema-registry

截至目前,我将schema-registry作为单个节点运行。 为了提供容错功能,我想在主从模式下运行schema-registry。一个节点用于主节点,一个节点用于从节点。

我们是否需要添加任何额外的属性来将节点标识为主节点?

任何机构都可以与我分享主服务器和从服务器的配置(schema-registry.properties)。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

设置多个SchemaRegistry实例非常简单。 您可以启动多个实例,但必须确保所有实例都指向同一个zookeeper仲裁。 这是文件 schema-registry.properties

中的属性 kafkastore.connection.url

领导者选举将由Zookeeper在所有已注册的模式注册表实例中进行管理。如果要避免特定模式注册表实例成为领导者(也称为主服务器),请在属性文件中设置属性master.eligibility=false(默认值为 true )。

答案 1 :(得分:1)

我认为原始问题的确是:我如何知道哪个Schema Registry节点当前是主节点,并测试当一个节点失败时另一个节点?

据我所知,这并没有在任何地方明确记录,但我发现,至少对于Confluent Platform v3.3.1,Zookeeper将此信息存储在密钥/schema_registry/schema_registry_master中。当我使用Exhibitor作为UI来浏览Zookeeper的状态时,我看到该键的以下值:

{"host":"172.31.59.89","port":8081,"master_eligibility":true,"version":1}

当我重新启动当前主设备时,此值立即更新。