Sentry не может синхронизировать ACL между файлами HDFS и таблицами Hive - PullRequest
0 голосов
/ 30 июня 2019

Sentry не может отправить полный снимок изображения из списка контроля доступа к таблице HIVE в HDFS, так что acl HDFS и acl таблицы кустов не синхронизируются.

Я использую Cloudera CDH 5.14.2, которая содержит часовой режим 1.5.1 и hadoop 2.6.0. Я включил Sentry и синхронизацию ACL с HDFS. Недавно мы перезапустили кластер, чтобы обновить некоторые конфигурации в hdfs log4j, однако после возвращения системы мы обнаружили, что acl между таблицей кустов и файлом hdfs не синхронизирован.

Затем мы откатываем конфигурацию log4j и снова перезапускаем кластер, однако acls все еще не синхронизируются между таблицей кустов и файлом hdfs.

После некоторых исследований мы обнаруживаем, что это может быть вызвано большим количеством разделов и таблиц в Hive (в действительности, у нас есть миллионы таблиц и разделов в Hive) в соответствии с sentry-2183. Поэтому мы изменили конфигурацию sentry.hdfs.service.client.server.rpc-connection-timeout на 1800000 в файле hive-site.xml сервера метастазов, однако он не работает.

Мы замечаем, что есть предупреждения и сообщения об ошибках в часовом и журнале hdfs. В сторожевом журнале показывается предупреждение о «WARN org.apache.thrift.transport.TIOStreamTransport: Ошибка закрытия выходного потока. Java.net.SocketException: Сокет закрыт»

В HDFS выдает ошибку

«ОШИБКА orgapache.sentry.core.common.transport.RetryClientInvocationHandler: не удалось выполнить getAllUpdateFrom java.lang.reflect.InvocationTargetException», что вызвано "org.apache.thrift.transport.TTransportException: java.net.SocketTimeoutExcpetion: время ожидания чтения"

введите описание изображения здесь

Есть идеи?

...