在 CKAN 中上传文件但收到 'Could not connect to DataPusher' 错误
Uploading files in CKAN but received 'Could not connect to DataPusher' error
我正在尝试将文件上传到 CKAN。但是,我从日志中收到此错误:
{'message': 'Could not connect to DataPusher.', 'details': "HTTPConnectionPool(host='localhost', port=8800): Max retries exceeded with url: /job (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 99] Cannot assign requested address',))"}
经过CKAN多次重试,终于上传完成。我能够下载我的资源并跟踪视图。
我不明白为什么前几次连接失败。我尝试使用 curl 来测试连接:curl http://localhost:8800
但我收到错误:
curl: (56) Recv failure: Connection reset by peer.
然后我尝试修改我的ckan.ini
,现在设置如下:
ckan.plugins = datastore datapusher
ckan.datapusher.url = http://localhost:8800
同样在 datapusher.conf 中,我的主机设置为 0.0.0.0
,端口设置为 8800
:
Listen 8800
<VirtualHost 0.0.0.0:8800>
ServerName ${CKAN_SERVER_NAME}
ServerAlias www.${CKAN_SERVER_NAME}
<Directory "${DATAPUSHER_CONFIG}">
Require all granted
</Directory>
WSGIScriptAlias / ${DATAPUSHER_CONFIG}/datapusher.wsgi
WSGIPassAuthorization On
ErrorLog /var/log/apache2/datapusher.error.log
CustomLog /var/log/apache2/datapusher.custom.log combined
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
</IfModule>
</VirtualHost>
在datapusher_settings.py
中,Host和Port也设置为'0.0.0.0'
和8800
。
我阅读了 post 但我没有发现与此设置有任何不同之处。然后我将 ckan.ini
中的主机从 localhost
名称 space 更改为实际的 127.0.0.1
,并在 CKAN docker 容器中重新启动 apache 服务,但它仍然 returns
Could not connect to Datapusher
我尝试上传文件,但以不同的错误编号结尾,如下所示:
{'message': 'Could not connect to DataPusher.', 'details': "HTTPConnectionPool(host='127.0.0.1', port=8800): Max retries exceeded with url: /job (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))"}
令人惊讶的是,在CKAN中重试几次后,我能够查看资源文件并下载它。我很困惑,因为我几个月来一直在使用相同的设置,而且我没有更新任何配置,而且这个问题最近才开始出现。
我找到了一种手动解决开发问题的方法。问题是由机器上的 datapusher 而不是 运行 引起的。我通过
手动启动了数据推送器
python datapusher/main.py deployment/datapusher_settings.py
datapusher 运行 无中断后,ckan 可以再次连接到datapusher。
我正在尝试将文件上传到 CKAN。但是,我从日志中收到此错误:
{'message': 'Could not connect to DataPusher.', 'details': "HTTPConnectionPool(host='localhost', port=8800): Max retries exceeded with url: /job (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 99] Cannot assign requested address',))"}
经过CKAN多次重试,终于上传完成。我能够下载我的资源并跟踪视图。
我不明白为什么前几次连接失败。我尝试使用 curl 来测试连接:curl http://localhost:8800
但我收到错误:
curl: (56) Recv failure: Connection reset by peer.
然后我尝试修改我的ckan.ini
,现在设置如下:
ckan.plugins = datastore datapusher
ckan.datapusher.url = http://localhost:8800
同样在 datapusher.conf 中,我的主机设置为 0.0.0.0
,端口设置为 8800
:
Listen 8800
<VirtualHost 0.0.0.0:8800>
ServerName ${CKAN_SERVER_NAME}
ServerAlias www.${CKAN_SERVER_NAME}
<Directory "${DATAPUSHER_CONFIG}">
Require all granted
</Directory>
WSGIScriptAlias / ${DATAPUSHER_CONFIG}/datapusher.wsgi
WSGIPassAuthorization On
ErrorLog /var/log/apache2/datapusher.error.log
CustomLog /var/log/apache2/datapusher.custom.log combined
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
</IfModule>
</VirtualHost>
在datapusher_settings.py
中,Host和Port也设置为'0.0.0.0'
和8800
。
我阅读了 ckan.ini
中的主机从 localhost
名称 space 更改为实际的 127.0.0.1
,并在 CKAN docker 容器中重新启动 apache 服务,但它仍然 returns
Could not connect to Datapusher
我尝试上传文件,但以不同的错误编号结尾,如下所示:
{'message': 'Could not connect to DataPusher.', 'details': "HTTPConnectionPool(host='127.0.0.1', port=8800): Max retries exceeded with url: /job (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))"}
令人惊讶的是,在CKAN中重试几次后,我能够查看资源文件并下载它。我很困惑,因为我几个月来一直在使用相同的设置,而且我没有更新任何配置,而且这个问题最近才开始出现。
我找到了一种手动解决开发问题的方法。问题是由机器上的 datapusher 而不是 运行 引起的。我通过
手动启动了数据推送器python datapusher/main.py deployment/datapusher_settings.py
datapusher 运行 无中断后,ckan 可以再次连接到datapusher。