Clouder CDH3B3 开始后hadoop.job.ugi不再生效,这意味着无法通eclipse plugin提交job和修改hdfs。
大家初次使用hadoop eclipse plugin一定在修改HDFS文件过程中出现过下面的错误
org.apache.hadoop.security.AccessControlException: Permission denied: user =test , access=WRITE, inode="pokes":hadoop:supergroup:rwxr-xr-x
问题在于我当前OS用户名为“test”,这个值是hadoop通过 System.getProperty("user.name") 获取的,如果当前用户名和HDFS文件所属用户名不一致,修改HDFS文件时则会报AccessControlException,怎么解决呢?办法是修改hadoop插件的“hadoop.job.ugi”属性为"hadoop,hadoop"就可以了,告诉hdfs我当前就是hadoop用户,这个属性也可以在代码里设置。
最近部署了一个CDH版本Hadoop集群,首先发现的是它的eclipse plugin和Apache hadoop plugin不兼容,需要手工编译(这个jar文件在这里可以下到:http://heipark.iteye.com/admin/blogs/1178756),接着发现hadoop plugin属性配置页面没有hadoop.job.ugi配置项了,在代码中设置也不好使,还是报AccessControlException。出现什么情况呢?看看cloudera的公告:
https://ccp.cloudera.com/display/CDHDOC/Incompatible+Changes 写道:
The hadoop.job.ugi configuration no longer has any effect. Instead, please use the UserGroupInformation.doAs API to impersonate other users on a non-secured cluster. (As of CDH3b3)
cdh基于安全考虑建议如下方式提交job和修改hdfs:
创建一个kerberos用户,这里叫oozie(其实它是一个开源hadoop workflow框架),然后通过代理方式提交job,即,让当前客户端用户模拟成oozie这个授权用户做操作。
具体信息参考这里:http://archive.cloudera.com/cdh/3/hadoop/Secure_Impersonation.pdf
这里说下两种基于试验目的的获取权限的方法:
- 关闭dfs权限管理,方法是修改hdfs-site.xml文件设置属性dfs.permissions为false;
- 通过代码将当前用户设置为集群管理者权限,这里我设置当操作者为hadoop,代码如下:
UserGroupInformation ugi = UserGroupInformation.createRemoteUser("hadoop");
try {
ugi.doAs(new PrivilegedExceptionAction<Void>() {
public Void run() throws IOException {
Job job = new Job(initConf(), "tencent m/r");
// do something
System.exit(job.waitForCompletion(true) ? 0 : 1);
return null;
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
-- end --
分享到:
相关推荐
Cloudera CHD安装教程(新),老师下发的培训机构一手资料,Cloudear集群安装文档,本人已经测,可成功安装。
hadoop-eclipse-plugin
1. **系统部署和管理**:这一模块主要由Cloudera Manager负责,包括Cloudera Manager Server和Cloudera Manager Agent等组件。Cloudera Manager不仅提供了可视化的管理界面,还支持自动化的部署和监控功能,极大地...
修改hbase 0.90版本 cloudera3u3 中的thrift接口,mutation类中增加timestamp参数,可以通过thrift接口使用Hbase.Mutation(column="f1:1", value='test',timestamp=20130112121212),mutateRows("testdb1", ...
Cloudera Manager和CDH 5.3.3集群的离线安装是一种在没有互联网连接的环境下,通过预先下载必要的安装包和软件依赖,然后在本地服务器上进行安装的方法。Cloudera Manager是Cloudera公司提供的用于部署、管理和监控...
**ImpalaJDBC41: Cloudera大数据访问的关键组件** ImpalaJDBC41是Cloudera提供的一种用于交互式查询和分析大数据的关键组件,它基于Java Database Connectivity (JDBC) 标准,允许应用程序与Cloudera Impala进行...
Hadoop Eclipse插件,经测试在Eclipse3.7下能正常使用。在Windows下连接远程Hadoop集群时,注意本地要安装cygwin,并将cygwin/bin目录设置到PATH,以便程序能使用chmod命令。 另,Hadoop Eclipse插件只能连接相应...
该插件的全名是foursquare-datasource-plugin-clouderamanager,版本号为0.9.2,基于git提交哈希9ac3d25,表明这是该插件的一个特定版本。它设计用于Grafana,特别是3.0及以上的版本,这意味着它可以与较新的Grafana...
该文档与教程http://blog.csdn.net/u012185296/article/details/38084107 配套使用的,主要讲的是妳那伊抹微笑_云计算之ClouderaManager以及CHD5.1.0集群部署安装文档V1.0.docx 、、、 你也可以到博客地址...
".parcel"文件是Cloudera的部署单位,包含可分发的软件组件,"SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el6.parcel"即是Spark 2.4.0的 parcel 文件,用于在CDH集群中安装和管理Spark。".parcel.sha"文件是...
grafana的cloudera manager插件,由于开源的grafana cdh插件在集成时会出现dateMath.parse is not a function问题,修复后可直接使用。本资源包是修复问题后的,可直接放到grafana plugins文件夹下,即可使用。
压缩包太大,分成两个,其中包含以下文件: allkeys.asc, cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm, cloudera-manager-daemons-6.3.1...oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm, scm_schema.sql
在Cloudera Manager中配置Hive使用MySQL数据库涉及多个步骤,从卸载CentOS默认MySQL到配置完毕,下面详细说明每一步的知识点。 首先,确保在添加Hive数据库前,系统中不存在先前安装的MySQL版本。使用命令rpm -qa |...
Cloudera 5.4.x Documentation系列官方文档。压缩包里面共有十个文档!分别是: cloudera-administration.pdf-配置管理文档 cloudera-datamgmt.pdf-数据管理文档 cloudera-impala.pdf-impala使用文档 cloudera-...
Java调用Cloudera Manager API是一个复杂而关键的任务,它涉及到使用Java编程语言与Cloudera Manager服务器进行交互,以实现自动化管理和监控大数据集群。Cloudera Manager是管理Hadoop和其他Cloudera支持的数据处理...
1. **CDH (Cloudera Distribution Including Apache Hadoop):** - **概述:** CDH 是 Cloudera 推出的一款基于 Hadoop 的发行版,包含了 Hadoop 生态系统中的多种工具和技术,如 HDFS、MapReduce、YARN 等。 - **...
SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el7 SHA下载
【Cloudera平台搭建1】 Cloudera Manager是一款强大的集群管理工具,专为简化Apache Hadoop及相关的数据处理和分析工作而设计。它提供了一种自动化的方式,用于部署、管理和监控Cloudera的企业级大数据平台,包括...
【Cloudera Search】是Cloudera公司提供的一个企业级搜索解决方案,它基于Apache Solr构建,能够处理大规模数据集的全文检索、分析和展示。Cloudera Search整合了SolrCloud,使得索引和查询操作能够在分布式环境中...
4. **创建数据库**:使用提供的SQL脚本创建Cloudera Manager所需的数据库。 5. **配置Cloudera Manager**:通过Web界面进行初始配置,包括设置管理员账号、添加主机、配置网络和安全设置。 6. **部署CDH**:在...