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
相关推荐
青花瓷3 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简3 小时前
docker 镜像相关
运维·docker·容器
Dream of maid4 小时前
Linux(下)
linux·运维·服务器
鹧鸪云光伏4 小时前
基于支架参数一键生成光伏全套CAD图纸
大数据·信息可视化·cad·光伏·储能设计方案
齐鲁大虾4 小时前
统信系统UOS常用命令集
linux·运维·服务器
Benszen4 小时前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…4 小时前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
Hommy885 小时前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
一叶知秋yyds6 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
黎阳之光6 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生