首页 > 解决方案 > 使用 Apache Helix 时可以自定义分区名称吗?

问题描述

在玩 Apache Helix 时,我注意到它会以下列方式自动生成分区名称:ResourceName_0, ResourceName_1, ... ResourceName_N。将其转换为一些真实的现有资源名称(例如消息代理中的队列)有点尴尬。

我正在像这样从 Java 配置集群,它是rabbitmq-consumer-groups recipe 的一个片段。

ZkClient zkclient = new ZkClient(ZOOKEEPER_ADDRESS, ZkClient.DEFAULT_SESSION_TIMEOUT, ZkClient.DEFAULT_CONNECTION_TIMEOUT, new ZNRecordSerializer());
ZKHelixAdmin admin = new ZKHelixAdmin(zkclient);

// add cluster
admin.addCluster("ClusterName", true);

// add state model definition
admin.addStateModelDef("ClusterName", DEFAULT_STATE_MODEL, new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()));

int partitions = 3;
admin.addResource("ClusterName", "ResourceName", partitions, DEFAULT_STATE_MODEL, IdealState.RebalanceMode.FULL_AUTO.toString());

int replicas = 1;
admin.rebalance("ClusterName", "ResourceName", replicas);

它可以以某种方式定制吗?

标签: javahelix

解决方案


推荐阅读