Проблема с доступом к Hive JDBC через Knox и настройкой Hive в Ranger

У нас есть кластер HDP-2.2 с настроенным FreeIPA. Но когда мы пытаемся получить доступ к hive jdbc через knox, мы сталкиваемся с проблемой. Ниже приведен URI JDBC, который мы используем:

jdbc:hive2://xxxxxxxxxxx:8443/;ssl=true;sslTrustStore=/var/lib/knox/data/security/keystores/gateway.jks;trustStorePassword=xxxxxxxxxxxx?hive.server2.transport.mode=http;hive. server2.thrift.http.path=шлюз/по умолчанию/улей

Ниже приведена ошибка, которую мы получаем: _

Хранилище ключей было изменено или пароль был неправильным (состояние = 08S01, код = 0)

Кажется, что пароль trustStore не совпадает с паролем, указанным в URI JDBC. Мы попытались изменить главный пароль Knox, но ambari не позволяет изменить его. Есть ли какой-либо способ, которым мы можем изменить пароль trustStore и создать новый мастер knox ? Повлияет ли изменение главного секретного пароля на другие службы?

В дополнение к этому, если мы используем тот же URI для создания репозитория улья в Ranger, мы получаем _ «Ошибка подключения» _error. Следует ли использовать тот же URI JDBC в рейнджере для создания репозитория для улья?

Примечание. Если мы установим режим передачи улья на «двоичный» вместо «HTTP», мы сможем создать репозиторий в рейнджере, но в этом случае hive over knox не будет работать, так как для него требуется режим «HTTP»


person Sachin Janani    schedule 31.08.2015    source источник
comment
Sachin, Вы нашли решение для этого? Я также сталкиваюсь с этой проблемой.   -  person java_enthu    schedule 27.11.2015
comment
Да, я получил решение, на самом деле я сбросил пароль хранилища ключей, и это решило мою проблему.   -  person Sachin Janani    schedule 28.11.2015
comment
Спасибо, Сачин, я сбросил пароль хранилища ключей, но это не помогло!   -  person java_enthu    schedule 30.11.2015
comment
О, тогда мне нужно знать, выполнили ли вы правильные шаги: 1) Импортировали ли вы сертификат knox в каталог конфигурации администратора рейнджера 2) Вы перезапустили службу рейнджера, экспортировав JAVA_OPTS с путем к сертификату примерно так: экспорт JAVA_OPTS = $ JAVA_OPTS -Djavax.net.ssl.trustStore=${certs_with_knox}   -  person Sachin Janani    schedule 30.11.2015
comment
Привет, Сачин, я пытаюсь сначала настроить песочницу HDP, я попытался запустить / получить доступ к webHDFS, и MapReduce с помощью Knox работал нормально. Но проблема с подключением к билайну. Кстати: я не вносил никаких изменений в песочницу, мне все еще нужно импортировать сертификат knox? На данный момент я не настроил Ranger для песочницы. Как вы думаете, что мне может не хватать?   -  person java_enthu    schedule 03.12.2015
comment
Если вы используете песочницу, я думаю, вам не нужно импортировать сертификат. Что касается улья, ваш улей работает в двоичном режиме или в режиме http, если в режиме http, и если вы настроили knox, то вместо использования порта улья вам нужно используйте порт knox, перейдите по этой ссылке: hortonworks.com/blog/< /а>   -  person Sachin Janani    schedule 04.12.2015
comment
Сачин - почему бы вам не опубликовать свое решение в качестве ответа на свой вопрос? Таким образом, это должно помочь будущим пользователям лучше, чем комментарии.   -  person Mogsdad    schedule 07.02.2016
comment
@SachinJanani..Sachin Я смог подключить клиент JDBC с помощью knox с моим пользователем и паролем (пользователь существует в openLDAP), но я не могу понять, почему соединение Beeline по умолчанию все еще работает ..!connect jdbc:hive2:// sandbox:10001/default;transportMode=http;httpPath=cliservice..происходит ли это также на вашем конце   -  person anwaar_hell    schedule 11.10.2016
comment
@anwaar_hell Beeline по умолчанию также будет работать. Но для обеспечения безопасности вы должны закрыть все порты для посторонних, кроме knox. Это гарантирует, что весь трафик будет проходить через knox. Надеюсь, это ответит на ваш вопрос.   -  person Sachin Janani    schedule 12.10.2016


Ответы (1)


Надеюсь это поможет:

  1. Проверьте местоположение gateway.jks, разрешения и пароль хранилища ключей.

  2. Остановите Knox, удалите *.jceks из ${KNOX_HOME}/security/keystores и снова запустите Knox.

person Pavel    schedule 29.12.2019