hue可以插入数据到部署在docker上的cdh中的hive,但是datagrip连接的hive插入报错

42000\]\[30041\] Error while processing statement: FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session a86472fe-cf0e-4a6a-ac69-214fe9c2cbb

  • datagrip连接时使用的用户名和密码都是hive(看配置文件)
  • 默认的引擎是spark,需要切换成mr,请在每个sql脚本前加上
sql 复制代码
SET hive.execution.engine=mr;

切换引擎后还是报错

08S01\]\[1\] Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Permission denied: user=hive, access=EXECUTE, inode="/tmp":root:supergroup:drwxrwx--- at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:3 ...

原来是tmp文件权限问题,得去改权限

步骤 1: 进入 Namenode 容器

首先,找到 Namenode 容器的名称或 ID,并进入容器。

列出所有运行中的容器:

bash 复制代码
docker ps

确认容器名称(例如 namenode)或容器 ID。

进入 Namenode 容器:

bash 复制代码
docker exec -it namenode /bin/bash

如果 namenode 是你的容器名称,直接进入容器。

步骤 2: 检查 /tmp 的权限

进入容器后,查看 HDFS 根目录结构,确保 /tmp 存在,并检查其权限:

bash 复制代码
hdfs dfs -ls /

输出示例:

Found 2 items

drwxr-xr-x - hdfs supergroup 0 2024-12-03 12:00 /user

drwx------ - hdfs supergroup 0 2024-12-03 12:00 /tmp

如果权限不足(如 drwx------),需要进行修改。

步骤 3: 修改 /tmp 目录权限

设置 /tmp 目录为可读写:

bash 复制代码
hdfs dfs -chmod -R 1777 /tmp

1777 权限: 所有用户均可读写,并启用粘滞位(sticky bit),防止其他用户删除非自身文件。

步骤 4: 验证修改

再次检查 /tmp 目录的权限,确保更改生效:
hdfs dfs -ls /

输出示例:

Found 2 items

drwxr-xr-x - hdfs supergroup 0 2024-12-03 12:00 /user

drwxrwxrwt - hive hive 0 2024-12-03 12:05 /tmp

drwxrwxrwt: 表示权限已修改为 1777。

步骤 5: 退出容器

完成后,退出 Namenode 容器:

bash 复制代码
exit
相关推荐
零售ERP菜鸟几秒前
数字系统的新角色:从管控工具到赋能平台
大数据·人工智能·职场和发展·创业创新·学习方法·业界资讯
Trouvaille ~4 分钟前
【Linux】网络层与IP协议详解:从地址到路由的完整指南
linux·运维·服务器·网络·tcp/ip·路由器·网络层
Howie Zphile7 分钟前
奇门遁甲x全面预算 # 双轨校准实务:资本化支出与经营目标设定的奇门-财务融合方案
大数据·人工智能
袁袁袁袁满12 分钟前
Ubuntu怎么查看系统日志?
linux·运维·服务器·ubuntu
礼拜天没时间.24 分钟前
Docker与Harbor迁移实战:从入门到生产级完整指南
linux·运维·docker·容器·架构·centos
babe小鑫25 分钟前
大数据运维与管理专业学习数据分析的必要性
大数据·运维·学习
开开心心_Every29 分钟前
剪切板工具存500条,可搜索备份导入导出
linux·运维·服务器·华为od·edge·pdf·华为云
zsyf198730 分钟前
Linux部署Redis集群
linux·运维·redis
2301_816073831 小时前
RHCA扩展
linux·运维·服务器·虚拟机启动
Hello.Reader1 小时前
Flink JobStatusChangedListener把作业状态变化 + Lineage 发到 DataHub / OpenLineage
大数据·flink