使用最新版本的apache airflow。從LocalExecutor開始,在該模式下,一切工作正常,除了Web UI狀態需要使用CeleryExecutor的一些交互。使用Redis安裝和配置Celery執行程序,將Redis配置爲代理程序URL和結果後端。Apache Airflow芹菜Redis解碼錯誤
它出現在第一個工作,直到任務計劃此時它提供了以下錯誤:
File "/bin/airflow", line 28, in <module>
args.func(args)
File "/usr/lib/python2.7/site-packages/airflow/bin/cli.py", line 882, in scheduler
job.run()
File "/usr/lib/python2.7/site-packages/airflow/jobs.py", line 201, in run
self._execute()
File "/usr/lib/python2.7/site-packages/airflow/jobs.py", line 1311, in _execute
self._execute_helper(processor_manager)
File "/usr/lib/python2.7/site-packages/airflow/jobs.py", line 1444, in _execute_helper
self.executor.heartbeat()
File "/usr/lib/python2.7/site-packages/airflow/executors/base_executor.py", line 132, in heartbeat
self.sync()
File "/usr/lib/python2.7/site-packages/airflow/executors/celery_executor.py", line 91, in sync
state = async.state
File "/usr/lib/python2.7/site-packages/celery/result.py", line 436, in state
return self._get_task_meta()['status']
File "/usr/lib/python2.7/site-packages/celery/result.py", line 375, in _get_task_meta
return self._maybe_set_cache(self.backend.get_task_meta(self.id))
File "/usr/lib/python2.7/site-packages/celery/backends/base.py", line 352, in get_task_meta
meta = self._get_task_meta_for(task_id)
File "/usr/lib/python2.7/site-packages/celery/backends/base.py", line 668, in _get_task_meta_for
return self.decode_result(meta)
File "/usr/lib/python2.7/site-packages/celery/backends/base.py", line 271, in decode_result
return self.meta_from_decoded(self.decode(payload))
File "/usr/lib/python2.7/site-packages/celery/backends/base.py", line 278, in decode
accept=self.accept)
File "/usr/lib/python2.7/site-packages/kombu/serialization.py", line 263, in loads
return decode(data)
File "/usr/lib64/python2.7/contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/lib/python2.7/site-packages/kombu/serialization.py", line 54, in _reraise_errors
reraise(wrapper, wrapper(exc), sys.exc_info()[2])
File "/usr/lib/python2.7/site-packages/kombu/serialization.py", line 50, in _reraise_errors
yield
File "/usr/lib/python2.7/site-packages/kombu/serialization.py", line 263, in loads
return decode(data)
File "/usr/lib/python2.7/site-packages/kombu/serialization.py", line 59, in pickle_loads
return load(BytesIO(s))
kombu.exceptions.DecodeError: invalid load key, '{'.
似乎是一個鹹菜序列化錯誤,但我不知道如何追蹤原因。有什麼建議麼?
此問題一直影響我使用subdag功能的工作流程,可能問題與此有關。
注:我也使用rabbitMQ進行測試,在那裏有一個不同的問題;客戶端顯示「通過對等方重置連接」並崩潰。 RabbitMQ日誌顯示「客戶端意外關閉TCP連接」。