## 1、异常信息?
?? [500051] [Cloudera][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000, errorMessage:ImpalaRuntimeException: Error creating Kudu table 'impala::impala_kudu_ods.pv6_web_ply_fee'
CAUSED BY: IllegalArgumentException: table owner must not be null or empty
## 2、问题说明
?????? 本问题是由于需要在测试impala创建kudu表,一开始创建表是通过dbeaver连接impala进行表的创建。dbeaver客户端提示创建失败,异常信息如<1、异常信息>所示。
?????? ????a、根据提示信息初始判断为语法错误,但检查语句没发现错误,同一建表语句复制到UAT环境可以正常执行成功。
?????? ????b、排除问题a后根据以往使用dbeaver使用经验,会出现正确语句在dbeaver无法执行的情形,因此将建表语句,复制到对应服务器,通过shell 调用impala-shell客户端,执行语句发现异常信息有所改变,异常信息如下
????????? 通过异常提示信息可以明确看到,属于hdfs环境权限问题。impala服务使用的是impala用户,hdfs对应/warehouse/tablespace/managed/hive/impala_kudu_ods.db目录的所有者(hive) ,与impala同属hadoop组。判断为该文件夹没有赋予hadoop组写权限,修改相应acl权限即可。
## 3、问题解决
?????? 执行如下命令,查询对应文件夹权限:
hdfs dfs -getfacl /warehouse/tablespace/managed/hive/impala_kudu_ods.db
???? 结果如下,发现hadoop组确实没有相应读写权限:
# file: /warehouse/tablespace/managed/hive/impala_kudu_ods.db # owner: hive # group: hadoop user::rwx user:hive:rwx group::--- mask::rwx other::r-x default:user::rwx default:user:hive:rwx default:group::--- default:mask::rwx default:other::---
?执行如下命令,修改对应文件夹权限
hdfs dfs -setfacl -m group::rwx /warehouse/tablespace/managed/hive/impala_kudu_ods.db
再次查看权限 ,已有读写权限
hdfs dfs -getfacl /warehouse/tablespace/managed/hive/impala_kudu_ods.db
# file: /warehouse/tablespace/managed/hive/impala_kudu_ods.db
# owner: hive
# group: hadoop
user::rwx
user:hive:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:hive:rwx
default:group::---
default:mask::rwx
default:other::---
后面即可正常进行执行建表操作。
|