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

4200030041 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;

切换引擎后还是报错

08S011 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
相关推荐
得物技术2 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子2 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
大志哥1233 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
果丁智能3 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
酣大智3 天前
ARP代理--工作原理
运维·网络·arp·arp代理