如何与其他用户一起使用hive

Duy*_*yễn 9 hive

我在3个集群上安装了Hadoop和Hive.通常我可以使用hive和Hadoop但是当我与其他用户登录时,我无法使用Hive.错误是:

hive> show tables;

FAILED:元数据错误:javax.jdo.JDOFatalDataStoreException:无法获取连接,池错误无法创建经过验证的对象,原因:不允许只读用户或只读数据库中的用户禁用只读连接上的模式.

NestedThrowables:

org.apache.commons.dbcp.SQLNestedException:无法获取连接,池错误无法创建经过验证的对象,原因:不允许只读用户或只读数据库中的用户禁用只读模式一个连接.

FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1

我和其他用户登录,并为我安装hadoop和hive的文件夹设置权限chmod 777,我可以使用配置单元.但是当我登录其他用户时,这是错误的.我的意思是,当我登录在hadoop上使用配置单元时,我必须设置权限.如何在hadoop上使用hive一次配置权限????

Jag*_*ish 14

我有同样的问题,并通过以下方式解决它.问题是由于两个可能的原因.

  • 要么,你登录的用户(做" WHOAMI ")不必通过蜂巢使用的德比metastore数据库目录的写入权限.因此,转到/ var/lib/hive/metastore/metastore_db(这在大多数情况下是默认设置)并通过执行ls验证您的用户ID是否具有权限 .如果您的用户标识没有权限,您应该要求目录的所有者向您授予写入权限.因此,以所有者/超级用户身份登录并执行

cd/var/lib/hive/metastore/metastore_db

chmod a + rwx.--recursive

请注意,这将为所有用户授予权限.相应地调整rwx位.

  • 另一个可能的原因是derby是单个用户数据库.所以,请通过转到清除锁定文件

cd/var/lib/hive/metastore/metastore_db

rm*.lck


Dan*_*SFT 6

我无法告诉你为什么这个有用,但它为我修好了.

cd ../hive/metatstore_db/
rm *.lck
Run Code Online (Sandbox Code Playgroud)

我的hadoop帐户和root帐户有单独的锁定问题.