CKAN包安装后Datapusher调用失败,请求http://127.0.0.1:8800/job报500错误
CKAN DataStore 500错误排查方案(Ubuntu 22.04包安装)
1. 检查DataPusher的uWSGI配置
包安装的CKAN中,DataPusher的uWSGI配置文件位于/etc/ckan/datapusher-uwsgi.ini,打开文件验证以下核心配置:
module:必须指向datapusher的WSGI入口,正确值应为module = datapusher.wsgi:applicationvirtualenv:需对应DataPusher的虚拟环境路径,包安装默认是/usr/lib/ckan/datapusherchdir:需设置为DataPusher的代码根目录,默认是/usr/lib/ckan/datapusher/src/datapusher
若配置存在错误,修改后重启DataPusher服务:
sudo systemctl restart ckan-datapusher
2. 验证虚拟环境依赖完整性
切换到ckan用户,进入DataPusher虚拟环境,检查依赖包是否齐全:
sudo -u ckan /usr/lib/ckan/datapusher/bin/pip list
确认datapusher、uwsgi、flask等关键包已安装。若有缺失,重新安装依赖:
sudo -u ckan /usr/lib/ckan/datapusher/bin/pip install -r /usr/lib/ckan/datapusher/src/datapusher/requirements.txt
3. 查看启动日志定位初始化错误
DataPusher启动时的错误会被记录在系统日志或stderr日志中,执行以下命令查看:
# 查看系统服务启动日志 sudo journalctl -u ckan-datapusher -b # 查看DataPusher的stderr日志 cat /var/log/ckan/ckan-datapusher.stderr.log
日志中会明确显示如模块找不到、权限不足等启动失败原因。
4. 修复文件权限问题
确保ckan用户拥有DataPusher相关目录的读写权限:
sudo chown -R ckan:ckan /usr/lib/ckan/datapusher sudo chown -R ckan:ckan /var/log/ckan
5. 手动测试WSGI应用加载
在虚拟环境中直接测试DataPusher的WSGI应用能否正常加载,快速定位代码或依赖问题:
sudo -u ckan /usr/lib/ckan/datapusher/bin/python -c "from datapusher.wsgi import application; print('Application loaded successfully')"
若执行报错,根据终端提示修复依赖缺失或代码问题。
6. 重启服务生效
完成上述操作后,重启DataPusher和CKAN服务:
sudo systemctl restart ckan-datapusher sudo systemctl restart ckan
内容的提问来源于stack exchange,提问作者Sujai
相关产品推荐
相关产品推荐

