Изпълнявам Hive на Hadoop и успешно инсталирах в Google Cloud Storage с помощта на bdutil версия 1.3.1. Изпълних командата по-долу:
./bdutil -e platforms/hdp/ambari_env.sh deploy
Като потребител на кошера мога да създавам/изтривам бази данни и таблици без никакви проблеми:
hive> create database db_final location 'gs://cip-hadoop-dev-data/apps/hive/warehouse/db_final';
OK
Time taken: 1.816 seconds
Но получавам следната грешка, ако се опитам да осъществя достъп до базата данни като всеки друг потребител:
hive> use db_final;
FAILED: SemanticException MetaException(message:java.security.AccessControlException: Permission denied: user=andy, path="gs://cip-hadoop-dev-data/apps/hive/warehouse/db_final":hive:hive:drwx------)
Мога да кажа, че това е грешка с разрешенията, тъй като разрешенията за файла са 700, което е посочено по-горе и потвърдено от командния ред:
[andy@hadoop-m ~]$ hdfs dfs -ls gs:///apps/hive/warehouse/
drwx------ - andy andy 0 2015-09-11 01:46 gs:///apps/hive/warehouse/db_final
Опитах се да променя разрешенията за файла с помощта на командата hdfs, но те остават същите:
[andy@hadoop-m ~]$ sudo hdfs dfs -chmod 750 gs:///apps/hive/warehouse/db_final
[andy@hadoop-m ~]$ hdfs dfs -ls gs:///apps/hive/warehouse/
drwx------ - andy andy 0 2015-09-11 01:46 gs:///apps/hive/warehouse/db_final
Също така предоставих SELECT разрешения за базата данни на потребителя, което успя, но все още получавам същата грешка, когато се опитам да използвам базата данни.
Това изглежда донякъде подобно на този проблем, но използвам най-новата версия на bdutil, така че не знам дали проблемът е същият. Също така потвърдих, че dfs.permissions.enabled е зададен на false.
Така че всичко изглежда работи добре, ако го стартирам като потребител на кошера, но не искам да изпращам потребителското име/парола на кошера на всеки, който има нужда от достъп до базата данни.
Какво друго трябва да опитам/търся?
Благодаря за вашата помощ