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: время ожидания чтения"
введите описание изображения здесь
Есть идеи?