南大通用GBase 8a加载hadoop数据报500 Server Internal error

GBase 8a 的加载支持从hadoop hdfs,官方的hadoop不要求userAgent参数,而某些修改版本做了检查,导致服务器端安全检查报错,出现了空指针导致500错误。 通过设置GBase 8a的_gbase_enable_hdfs_useragent参数可以解决该问题。

报错样例

HTTP response code said errorm HTTP/1.1 500 Internal server error uri ....

排查

通过curl 能够获得文件信息

通过抓包工具,对比curl和gbase 8a load的信息,发现gbase 少了User-Agent的请求头。

解决

打开数据库的参数_gbase_enable_hdfs_useragent, 同时修改配置文件(gcluster和gnode)

set global _gbase_enable_hdfs_useragent=1

再次运行load 正常。