docker安装下airflow调度CDH中hive,报错ModuleNotFoundError: No module named ‘sasl‘

docker安装下airflow调度CDH中hive,报错ModuleNotFoundError: No module named ‘sasl’

完整报错

[2021-03-25 14:38:48,763] {{models.py:1736}} ERROR - No module named 'sasl'
	Traceback (most recent call last):
	File "/usr/local/lib/python3.6/site-packages/airflow/models.py", line 1633, in _run_raw_task
		result = task_copy.execute(context=context)
 	File "/usr/local/airflow/dags/gupao/operators/check_operator.py", line 80, in execute
		records = self.get_db_hook().get_records(self.sql)[0]
	File "/usr/local/lib/python3.6/site-packages/airflow/hooks/hive_hooks.py", line 864, in 		get_records
		return self.get_results(hql, schema=schema)['data']
	File "/usr/local/lib/python3.6/site-packages/airflow/hooks/hive_hooks.py", line 810, in 			get_results
		header = next(results_iter)
	File "/usr/local/lib/python3.6/site-packages/airflow/hooks/hive_hooks.py", line 780, in _get_results
		with contextlib.closing(self.get_conn(schema)) as conn, \
	File "/usr/local/lib/python3.6/site-packages/airflow/hooks/hive_hooks.py", line 773, in get_conn
		database=schema or db.schema or 'default')
	File "/usr/local/lib/python3.6/site-packages/pyhive/hive.py", line 94, in connect
		return Connection(*args, **kwargs)
	File "/usr/local/lib/python3.6/site-packages/pyhive/hive.py", line 152, in __init__
		import sasl
	ModuleNotFoundError: No module named 'sasl'

原因是是缺少相应的包

	解决办法:
	1、先以root模式进入容器中
		docker-compose exec -u root webserver bash
	2、在容器里执行以下命令
		apt update
		apt-get -y install libsasl2-modules libsasl2-dev vim
		pip install sasl thrift-sasl
		pip install six==1.13.0

你可能感兴趣的:(cenos7,docker,airflow,hive)