Search in sources :

Example 1 with KafkaMetadataService

use of com.hortonworks.streamline.streams.cluster.service.metadata.KafkaMetadataService in project streamline by hortonworks.

the class AbstractKafkaBundleHintProvider method getHintsOnCluster.

@Override
public Map<String, Object> getHintsOnCluster(Cluster cluster, SecurityContext securityContext, Subject subject) {
    Map<String, Object> hintClusterMap = new HashMap<>();
    try (KafkaMetadataService kms = KafkaMetadataService.newInstance(environmentService, cluster.getId(), securityContext)) {
        KafkaTopics topics = kms.getTopicsFromZk();
        hintClusterMap.put(FIELD_NAME_TOPIC, topics.list());
        fillZookeeperHints(cluster, hintClusterMap);
        final Map<KafkaBrokerListeners.Protocol, List<String>> protocolToHostsWithPort = kms.getKafkaBrokerListeners().getProtocolToHostsWithPort();
        hintClusterMap.put(FIELD_NAME_BOOTSTRAP_SERVERS, mapValuesJoiner(protocolToHostsWithPort, ","));
        hintClusterMap.put(FIELD_NAME_SECURITY_PROTOCOL, protocolToHostsWithPort.keySet());
        hintClusterMap.put(FIELD_NAME_KAFKA_SERVICE_NAME, kms.getKafkaServiceName());
    } catch (ServiceNotFoundException e) {
        // we access it from mapping information so shouldn't be here
        throw new IllegalStateException("Service " + Constants.Kafka.SERVICE_NAME + " in cluster " + cluster.getName() + " not found but mapping information exists.");
    } catch (ServiceConfigurationNotFoundException e) {
    // there's KAFKA service but not enough configuration info.
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return hintClusterMap;
}
Also used : HashMap(java.util.HashMap) KafkaMetadataService(com.hortonworks.streamline.streams.cluster.service.metadata.KafkaMetadataService) ServiceComponentNotFoundException(com.hortonworks.streamline.streams.cluster.exception.ServiceComponentNotFoundException) ServiceConfigurationNotFoundException(com.hortonworks.streamline.streams.cluster.exception.ServiceConfigurationNotFoundException) ServiceNotFoundException(com.hortonworks.streamline.streams.cluster.exception.ServiceNotFoundException) KafkaTopics(com.hortonworks.streamline.streams.cluster.service.metadata.json.KafkaTopics) ServiceNotFoundException(com.hortonworks.streamline.streams.cluster.exception.ServiceNotFoundException) ServiceConfigurationNotFoundException(com.hortonworks.streamline.streams.cluster.exception.ServiceConfigurationNotFoundException) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList)

Aggregations

ServiceComponentNotFoundException (com.hortonworks.streamline.streams.cluster.exception.ServiceComponentNotFoundException)1 ServiceConfigurationNotFoundException (com.hortonworks.streamline.streams.cluster.exception.ServiceConfigurationNotFoundException)1 ServiceNotFoundException (com.hortonworks.streamline.streams.cluster.exception.ServiceNotFoundException)1 KafkaMetadataService (com.hortonworks.streamline.streams.cluster.service.metadata.KafkaMetadataService)1 KafkaTopics (com.hortonworks.streamline.streams.cluster.service.metadata.json.KafkaTopics)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Collectors.toList (java.util.stream.Collectors.toList)1