Подключение к Hive из DBeaver с помощью Kerberos

  1. Установите DBeaver CE.

    Примечание
    Используйте DBeaver CE версии 21.3.4 и выше.
  2. После установки DBeaver CE необходимо скопировать файл /etc/krb5.conf c Kerberos-сервера в папку C:\Program Files\DBeaver\jre\conf\security вашей машины Windows.

  3. Отредактируйте файл krb5.conf, удалив все символы перед секцией [libdefaults] и закомментировав строку renew_lifetime = 7d.

  4. Чтобы подключиться к Hive, необходимо также передать основной файл keytab. Создайте файл keytab, запустив утилиту kadmin на сервере Kerberos и выполнив следующую команду:

    $ xst -norandkey -k <file_name> <principal_name>

    Например:

    $ xst -norandkey -k hive.keytab hive/hive-kerberos.ru-central1.internal@ADREALM.IO

    Файл krb5.conf должен иметь следующий вид:

    krb5.conf
    [libdefaults]
    default_realm = ADREALM.IO
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    #renew_lifetime = 7d
    forwardable = true
    
    [realms]
    ADREALM.IO = {
    kdc = kerberos-server.ru-central1.internal
    admin_server = kerberos-server.ru-central1.internal
    }
    
    [domain_realm]
    .adrealm.io = ADREALM.IO
    adrealm.io = ADREALM.IO
    .adrealm.io = ADREALM.IO
  5. Создайте файл jaas.conf в папке DBeaver. В этом файле необходимо задать путь к основному файлу keytab, используемому для подключения к Hive. Также необходимо указать имя принципала.

    Файл jaas.conf должен иметь следующий вид:

    jaas.conf
    Client {
    com.sun.security.auth.module.Krb5LoginModule required
    doNotPrompt=true
    useKeyTab=true
    keyTab="C:/Users/Administrator/Downloads/hive.keytab"
    useTicketCache=false
    renewTGT=false
    principal="hive/hive-kerberos.ru-central1.internal@ADREALM.IO";
    };
  6. Создайте файл dbeaver.ini, расположенный в папке DBeaver, и добавьте пути к файлам jaas.conf и krb5.conf.

    Примечание
    Файлы jaas.conf и dbeaver.ini должны находиться в одной папке.
    dbeaver.ini
    -startup
    plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.200.v20210429-1609
    -vmargs
    -XX:+IgnoreUnrecognizedVMOptions
    --add-modules=ALL-SYSTEM
    -Dosgi.requiredJavaVersion=11
    -Xms64m
    -Xmx1024m
    -Djava.security.krb5.conf=C:\Program Files\DBeaver\jre\conf\security\krb5.conf
    -Djava.security.auth.login.config=jaas.conf
    -Djavax.security.auth.useSubjectCredsOnly=false
  7. Получите аутентификационный тикет, используя файл keytab. Для этого перейдите в каталог C:\Program Files\DBeaver\jre\bin и выполните следующую команду:

    ./kinit.exe -k -t keytab-file-path principal_name

    Пример вывода:

    New ticket is stored in cache file C:\Users\Administrator\krb5cc_Administrator
  8. Скачайте JBDC-драйвер и распакуйте его в папку DBeaver.

  9. Для запуска DBeaver перейдите в меню Database и выберите Driver Manager.

  10. Выберите New.

    Заполните необходимые поля:

    • Driver name: Hive Kerberos;

    • URL Template: jdbc:hive2://{host}:{port}/{database};principal=hive/hive-kerberos.ru-central1.internal@ADREALM.IO;

    • Default port: 10000;

    • Default Database: default.

  11. Перейдите в Libraries и выберите файл драйвера hive-jdbc-3.1.1-arenadata-standalone.jar, который вы распаковали ранее. Выберите FindClass → org.apache.hive.jdbc.HiveDriver. Кликните Ok.

    Создание драйвера
    Создание драйвера
    Создание драйвера
    Создание драйвера
  12. Создайте новое подключение. Для этого:

    1. Перейдите в Database → New Database Connection.

    2. Выберите Hive Kerberos.

    3. В Host укажите IP-адрес сервера Hive.

      Создание нового соединения
      Создание нового соединения
      Создание нового соединения
      Создание нового соединения
    4. Кликните Test Connection для проверки соединения.

      Проверка соединения
      Проверка соединения
      Проверка соединения
      Проверка соединения
  13. Кликните Finish.

    Доступная база данных Hive
    Доступная база данных Hive
    Доступная база данных Hive
    Доступная база данных Hive
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней