# docker安装下airflow调度CDH中hive,报错 Permission denied: ‘beeline‘

3 篇文章 0 订阅
3 篇文章 0 订阅
在Docker环境下使用Airflow调度执行Hive任务时遇到'beeline'权限错误。问题源于beeline命令执行权限不足。解决方法包括:1) 以root权限进入Docker容器;2) 找到beeline命令路径并给予执行权限。通过`chmod +x beeline`命令即可修复问题,确保任务能正常运行。
摘要由CSDN通过智能技术生成

docker安装下airflow调度CDH中hive,报错 Permission denied: ‘beeline’

完整报错

	[2021-03-27 06:27:22,991] {{models.py:1736}} ERROR - [Errno 13] Permission denied: 'beeline'
			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/lib/python3.6/site-packages/airflow/operators/hive_operator.py", line 134, in 		execute
		self.hook.run_cli(hql=self.hql, schema=self.schema, hive_conf=self.hiveconfs)
	File "/usr/local/lib/python3.6/site-packages/airflow/hooks/hive_hooks.py", line 226, in run_cli
		close_fds=True)
	File "/usr/local/lib/python3.6/subprocess.py", line 709, in __init__
		restore_signals, start_new_session)
	File "/usr/local/lib/python3.6/subprocess.py", line 1344, in _execute_child
		raise child_exception_type(errno_num, err_msg, err_filename)
	PermissionError: [Errno 13] Permission denied: 'beeline'

原因beeline没有权限

解决办法

1、以root模式进入容器中

	docker-compose exec -u root webserver bash

2、找到beeline命令所在的文件夹,并进入其中

	通常直接执行beeline报错后会返回beeline所在的位置
	如下
	root@9432737fc0ae:/usr/local/airflow# beeline
	/usr/lib/hive/bin/beeline: line 26: ps: command not found
	/usr/lib/hive/bin/beeline: line 26: ps: command not found
	Missing Hive Execution Jar: /usr/lib/hive/lib/hive-exec-*.jar

3、进入该文件夹,并增加权限

	cd /usr/lib/hive/bin/
	chmod +x beeline 
	执行后如下图所示

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值