Kettle Permission denied

1.问题场景:在windows系统中,执行一段转换操作,从MySQL表中将数据抽取到HDFS文件中,使用Parquet output输出文件,进行转换时报以下错

Parquet output.0-Cause by.org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):Permission denied:user=kohsin,access=WRITE,

从字面可以看出,服务器端的权限问题,从windows上传文件时附带的身份,Hadoop并没有给此身份权限导致的。

2.解决方法

2.1方法一

因为是跟视频自学,所以视频上老师介绍了一种方法,进入Linux系统的环境变量文件

vi /etc/profile

然后在Hadoop环境变量下添加一段root的角色名

export HADOOP_USER_NAME=root

重启一下环境变量。

该方法可以试一下,我自己试过,但是不知道为什么不执行,所以我也不知道这个方法对不对,可能对其他电脑会有不一样的效果吧。

2.2方法二

因为是在window系统上运行的,看报错的消息可以知道,Kettle在运行转换作业的时候,一定是带了一个自己的用户名称到HDFS上的,所以我们可以修改配置,自行把该名称赋值成root用户,这样Hadoop就可以有对应的权限了

具体操作如下

在windows中找到启动Kettle的Spoon.bat文件,然后用记事本打开该文件,找到 set OPT= 这一行

然后在该行最后面添加下面的内容,然后重启Kettle即可

“-DHADOOP_USER_NAME=root”

这个方法,也是自己亲测有效,最终解决问题的方法,可供参考,不一样的电脑可能也不一样的问题吧,遇见了再摸索。

2.3方法三

因为Hadoop文件有权限的限制,所以可以考虑将HDFS的文件权限进行更改,从最前面的字段可以看出文件的权限drwxr-xr-x

可以执行修改文件的权限命令,然后再进行Kettle操作

hdfs dfs -chmod 777 'text_name'

最后的方法是我自己想的,但是没有经过实测的验证(还不是因为懒得!哈哈哈),可以参考以下,如果有用这个方法验证的可以留言一下,成功了我就保留了,失败了,我就把这个方法删除了(不能误人子弟)

Kettle 权限问题相关推荐

  1. pythonDjango后端笔记

    文章目录 软件开发架构 纯手撸web框架 借助于wsgiref模块 动静态网页 模块语法之Jinja2模块 自定义简易版本web框架请求中各个模块的作用 python3大主流web框架 注意事项 Dj ...

  2. 【Kettle学习笔记】从Hbase导入数据至Mysql

    1.连接Hadoop集群与MySQL 1-1 下载当前集群的Hbase配置文件 1-2 解压改配置文件至cdh510目录下 1-3 修改D:\kettle\data-integration\plugi ...

  3. kettle安装部署及远程执行

    一.windows环境 1.安装jdk 随意选择目录 只需把默认安装目录 \java 之前的目录修改即可 2.安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可 注:若无安装目录要求 ...

  4. Linux下crontab命令添加Kettle作业定时任务

    1. 确保作业 $KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb 或转换 $KETTLE_HOME/pan.sh -file=/dat ...

  5. kettle使用数据库来生成序列_Kettle的安装和使用

    Kettle简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定. Kettle是"Kettle E.T.T.L. ...

  6. linux 定时执行kettle6,linux下使用crond定时执行kettle的job

    由于第一次碰linux,对其不是很了解,导致这个问题困扰了我近一个月的时间,现在终于解决了,分享给大家. 首先,安装jre,配置java环境变量(一)下载jre-6u23-linux-x64.bin ...

  7. kettle创建mysql资源库

    步骤: 1. 创建一个库: create  database xxx; 2. 创建kettle用户,密码也为kettle 3. 给kettle用户使用xxx 库的权限. 4. 刷新权限,使权限生效. ...

  8. 导入数据中文乱码_基于Navicat和Kettle的数据迁移完全解读(多图)

    需求描述 对于数据分析人员来说,工作的基础是数据,没有数据分析就无从谈起,即巧妇难为无米之炊. #数据库# #数据迁移# #Oracle# 然而,数据分析往往在实验环境或者准生产环境中开展,而数据分布 ...

  9. kettle怎么复制资源库的job_#linux系统下调度数据库类型资源库中的kettle job

    // linux系统下调度数据库类型资源库中的kettle job - 简书 http://www.jianshu.com/p/bc57ee193ea3 进入linux系统,切换至kettle所属用户 ...

最新文章

  1. 关于Spring的69个面试问答——终极列表
  2. Android 从清单配置文件元数据中获取值
  3. java list加入listview_Android ListView自动生成列表条目的实例
  4. Android中保存数据的三种方法
  5. 卸任后的马云“忙”坏了,健美大赛、蹦迪、修空调、种蘑菇,真相看懵了
  6. Linux系统与网络服务管理技术大全(第2版)
  7. 四则运算2之设计思路篇
  8. 遇到问题的时候,要学会问问题
  9. Vue笔记:使用 axios 中 this 指向问题
  10. 一种边播边下的播放策略
  11. CrossApp应用源码集合贴
  12. 迁移学习笔记1:简明手册笔记
  13. 如何破解qq仅三天可见
  14. RHCE-ansible第三次实验,通过ansible自动化部署web服务
  15. php 分页样式css样式,thinkphp5分页CSS样式代码
  16. H5页面视觉效果设计技巧有哪些
  17. 类的设计与实现1、设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维);成员方法计算面积(computeArea); 2、设计一个接口
  18. [转]增强型N沟道mos管(如si2300)开关条件
  19. ElementUI引入自定义图标
  20. DBFace: 源码阅读(一)

热门文章

  1. 【图像压缩】有损+残差联合优化实现的近无损压缩
  2. edu-【Linux 与 Python编程2021】Linux知识训练,Linux之用户管理,Linux文件/目录管理
  3. maxim-MAX78000-windows10-wsl2-Ubuntu20.04-pyenv+pytorch+ai8x环境搭建
  4. 无人机驾驶员培训学习记录(十五)
  5. C++四舍五入后保留一位小数
  6. 笨方法学python3 ex20
  7. 【图解算法数据结构】数据结构篇 + Java代码实现
  8. 【卫朋】产品管理:如何管理项目进度?
  9. python写的mysql清库脚本,可根据表名分类
  10. C#Web项目中导出数据为Excel