GBase 8a
其他
文章

gbase8a 加载http大数据量文件时入库数据不全

发表于2024-12-31 20:36:0334次浏览0个评论

问题描述

使用load data加载http同一份大数据量文件时,每次加载入库的数据量不一致且都没有将全部数据加载入库

分析

出现该问题是在某系统生产环境上,测试环境加载正常,对比了测试环境和生产环境的http服务配置和gbase8a集群发现,生产环境http是通过nginx转发的,而测试环境是直连的http。

查看nginx的配置文件发现有这么一个参数,proxy_temp_file_write_size 2048k,而他服务器上的文件很多都是在5M以上

原因

问题就出在proxy_temp_file_write_size上,当服务器上的文件超过该参数设置的大小时,Nginx会先将文件写入临时目录(缺省为Nginx安装目下/proxy_temp目录),缺省Nginx是以nobody身份启动的,用ls -al 命令查看proxy_temp目录 nobody是proxy_temp目录的所有者,怪了那为什么没权限呢?接下来查看proxy_temp的父目录既Nginx安装目录。发现nobody竞然没权限

解决办法

  1. 设置任何人都可以写 proxy_temp目录,chmod -R 777 proxy_temp,重启 Nginx 即可解决(现场环境使用该方法快速解决)

  2. 更改proxy_temp_file_write_size的值,将其修改为大于最大文件的值,重启Nginx(现场环境不能保证文件最大为多大,故采取了方法1)

评论

登录后才可以发表评论