FusionInsight HD C60U10 Hive建表出现异常

发布时间:  2016-11-30 浏览次数:  155 下载次数:  0
问题描述
FusionInsight HD C50 升级到 C60U10版本后,以前的Hive账户执行Hive 建表语句,抛出异常。执行LOCATION 建表操作抛出异常。
告警信息

cd /opt/client/
source bigdata_env
kinit hzcsb2 -k -t user.keytab
klist
cd Spark/spark/bin
./beeline -u
"jdbc:hive2://ha-cluster/default;user.principalsasl.qop=auth-conf;auth=KERBEROS;principal=spark/hadoop.hadoop.com@HADOOP.COM;"

  

  
  
  
  
  
  
  
 

 
 


处理过程

1.从命令来看,实际使用了Spark的beeline, 在创建database制定路径时,相对创建一个“外数据库”

2.测试:/tmp/sparkdatabase属于admin用户时(drwxrwx---  - admin  hadoop          0 2016-11-21 11:02 /tmp/sparkdatabase),客户端使用testt用户创建数据库指定该路径时,报出异常

/tmp/sparkdatabase属于testt时(drwxrwx---  - testt  hadoop          0 2016-11-21 11:02 /tmp/sparkdatabase),客户端使用testt用户创建数据库指定该路径时,是ok

3.结论:Location指定的路径属于客户端kinit账户




根因

C60之前版本,Spark没有做权限控制。在 C60版本中,为了与Hive统一、加入了权限管理,保持Spark与Hive权限管理一致。
如果使用低版本升级到C60及之后的版本,使用sparksql 之前需要 产品文档中SparkSQL章节的使用说明。

http://support.huawei.com/enterprise/productNewOffering?idAbsPath=7919749|7919788|19942925|21110924&pid=21110924&productname=FusionInsight%20HD  

参考 业务指南,《Spark权限管理》  章节

解决方案

修改 /flume  目录权限:
 hdfs dfs -chown  用户名:组名 /路径

建议与总结

升级之前,了解版本信息,熟悉最新版本性能特性。

END