700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Permission denied: user=anonymous access=EXECUTE inode=“/tmp“

Permission denied: user=anonymous access=EXECUTE inode=“/tmp“

时间:2020-07-18 04:37:25

相关推荐

Permission denied: user=anonymous  access=EXECUTE  inode=“/tmp“

beeline连接hive失败

1、检查

确认metastore和hiveserver2两个服务启动了

nohup hive --service metastore >> log.out 2>&1 &

nohup hive --service hiveserver2 >> log.out 2>&1 &

检查10000端口是否被占用

ss -lnp|grep 10000

检查hadoop的core-site.xml的账号配置,已经配置了登陆用户的超级用户权限,关于这一块配置规则可自行百度,不做多余阐述。

2、原因

beeline -u jdbc:hive2://192.168.2.201:10000

这种方式直接连接,没有指定aohongli用户名和密码,使用的是其实是anonymous(匿名的)这个用户没有hdfs上的/tmp 目录下的写权限,所以造成失败。

[aohongli@hadoop-bi-1 hive-3.1.2]$ beeline

beeline> !connect jdbc:hive2://192.168.2.201:10000

Enter username for jdbc:hive2://192.168.2.201:10000: aohongli

Enter password for jdbc:hive2://192.168.2.201:10000: ************

后面我改变连接方式,连接输入centos的账号密码就可以进入

3、解决方法

1、上面提到的beeline连接填写对应的超级用户的账号密码

[aohongli@hadoop-bi-1 hive-3.1.2]$ beeline -n aohongli -u jdbc:hive2://192.168.2.201:10000

2、修改hdfs上的/tmp的权限

[aohongli@hadoop-bi-1 hive-3.1.2]$ hdfs dfs -chmod 777 /tmp

[aohongli@hadoop-bi-1 hive-3.1.2]$

第二种不建议,知道原理最好,不然以后出问题又不知道怎么办才好,另一种就是更直接的取消hdfs的权限检验。我就是为了弄明白集群的权限才玩的深,取消权限检验什么都没有了,就没意思了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。