2016-10-11 3 views
0

У меня проблема с запуском CLI. Когда я бегу CLI на краевом узле я получаю следующие ошибки в отношении разрешений HDFS:Какие разрешения необходимы для запуска Hive Cli

c784gnj:~ # sudo hive 
/usr/lib/hive/conf/hive-env.sh: line 5: /usr/lib/hive/lib/hive-hbase-handler-1.1.0-cdh5.5.2.jar,/usr/lib/hbase/hbase-common.jar,/usr/lib/hbase/lib/htrace-core4-4.0.1-incubating.jar,/usr/lib/hbase/lib/htrace-core-3.2.0-incubating.jar,/usr/lib/hbase/lib/htrace-core.jar,/usr/lib/hbase/hbase-hadoop2-compat.jar,/usr/lib/hbase/hbase-client.jar,/usr/lib/hbase/hbase-server.jar,/usr/lib/hbase/hbase-hadoop-compat.jar,/usr/lib/hbase/hbase-protocol.jar: No such file or directory 
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release 
16/10/11 10:35:49 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist 

Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-1.1.0-cdh5.5.2.jar!/hive-log4j.properties 
Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=app1_K, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x 
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:257) 
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:238) 
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:216) 

Что улей пытается писать в директории/пользователя в HDFS?

я уже вижу, что/пользователь/улей создан:

drwxrwxr-t - hive   hive    0 2015-03-16 22:17 /user/hive 

Как вы можете видеть, что я нахожусь за керберос AUTH на Hadoop.

Заранее благодарен!

ответ

0

Log говорит вам необходимо установить разрешение на HDFS /user директории пользователя app1_K

Команда

hadoop fs -setfacl -m -R user:app1_K:rwx /user

Выполнить эту команду как привилегированного пользователя из Hadoop бен

Если вы получаете аналогичная ошибка разрешения в любом другом каталоге hdfs, тогда вы должны предоставить разрешение на этот каталог.

Для получения дополнительной информации см. Приведенную ниже ссылку.

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html#ACLs_Access_Control_Lists

0

Вместо отключение права доступа HDFS в целом, как это было предложено @Kumar, вы можете просто создать HDFS домашнего каталога для каждого нового пользователя в системе, так что Hive/Спарк/Свиньи/Sqoop задания имеют действительное место для создания временных файлов ...

в кластере керберизованного:

kinit [email protected] 
hdfs dfs -mkdir /user/app1_k 
hdfs dfs -chown app1_k:app1_k /user/app1_k 

в противном случае:

export HADOOP_USER_NAME=hdfs 
hdfs dfs -mkdir /user/app1_k 
hdfs dfs -chown app1_k:app1_k /user/app1_k 
+0

У пользователя уже есть домашний каталог, так как я могу использовать hbase/spark hadoop fs с помощью этого пользователя. – eboni

Смежные вопросы