gpt4 book ai didi

java - 远程运行 Hbase ImportTSV 作业

转载 作者:可可西里 更新时间:2023-11-01 15:18:32 27 4
gpt4 key购买 nike

我正在尝试运行 HBase importTSV hadoop 作业以将数据从 TSV 文件加载到 HBase。我正在使用以下代码。

    Configuration config = new Configuration();
Iterator iter = config.iterator();
while(iter.hasNext())
{
Object obj = iter.next();
System.out.println(obj);
}

Job job = new Job(config);
job.setJarByClass(ImportTsv.class);
job.setJobName("ImportTsv");
job.getConfiguration().set("user", "hadoop");
job.waitForCompletion(true);

我收到这个错误

错误 security.UserGroupInformation: PriviledgedActionException as:E317376 cause:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=E317376, access=WRITE, inode="staging":hadoop:supergroup:rwxr-xr-x

我不知道如何设置用户名 E317376。这是我尝试在远程集群中运行此作业的 Windows 机器用户。我在 linux 机器上的 haddop 用户帐户是“hadoop”

当我在 hadoop 用户帐户下的 Hadoop 集群的一部分 linux 机器上运行它时,一切正常。但我想以编程方式在 Java Web 应用程序中运行这项工作。我做错了什么吗?请帮助...

最佳答案

你的 mapred-site.xml 文件中应该有如下属性

<property>
<name>mapreduce.jobtracker.staging.root.dir</name>
<value>/user</value>
<property>

也许有必要将 dfs 文件系统的/user 文件夹更改为 777

不要忘记停止/启动您的 jobtrackers 和 tasktrackers(sh stop-mapred.sh 和 sh start-mapred.sh)

关于java - 远程运行 Hbase ImportTSV 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11504494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com