Каковы Обязательные TBLPROPERTIES во внешней таблице Hive в потоке Kafka на Kerberized сервере? - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать внешнюю таблицу в потоке kafka в среде Kerberized Hive. Я столкнулся с несколькими проблемами, пытаясь запустить простой SELECT * FROM [EXTERNAL KAFKA STREAM TABLE]. Какие поля обязательны для заполнения в свойствах tbl в моем запросе CREATE TABLE?

Вот что у меня есть:

  1. kafka.bootstrap.servers
  2. kafka.topic
  3. kafka.consumer.sasl.kerberos.service.name
  4. kafka.consumer.sasl.mechanism
  5. kafka.consumer.sasl.mechanism.inter.broker.protocol
  6. kafka.consumer.sasl_ssl.gssapi.sasl.jaas.config
  7. kafka.consumer.security.protocol
  8. kafka.consumer.ssl.client.auth
  9. kafka.consumer.ssl.protocol
  10. kafka.consumer.ssl.truststore.location
  11. kafka.consumer.ssl.truststore.password

1 Ответ

0 голосов
/ 29 октября 2019

Я не уверен, что эти свойства SSL или SASL даже приняты - вы можете увидеть источник определяемых здесь свойств - https://github.com/apache/hive/blob/master/kafka-handler/src/java/org/apache/hadoop/hive/kafka/KafkaTableProperties.java

Принципы Kafka Kerberos происходят из HiveConf, а не из Table Properties,кажется, из-за этой фиксации, и не может быть переопределено - https://github.com/apache/hive/commit/dcaeeb4722553f3256c9d3f5282cc82cae7bc9b4#diff-f206f68e2d1b5d396fa7f12830d98cbfR279

  1. Этот код не готов до Hive 4.0.0 - https://issues.apache.org/jira/browse/HIVE-20735

  2. Согласно этому коду, SASL_PLAINTEXT является единственным поддерживаемым security.protocol

  3. Этот раздел загружается, если для «hadoop.security.authentication» установлено значение «kerberos» в core-site.xml из $HADOOP_CONF_DIR


Однако, кроме тех первых нескольких, можно добавить kafka.serde.class, если ваша тема не использует JSON, и "inter.broker".protocol "не является допустимым потребительским свойством в любом случае.


Я не уверен, что произойдет, если улей будет Kerberized, а Кафка не

...