小编Chr*_*oop的帖子

为嵌入Java webapp的客户端设置hadoop系统用户

我想将MapReduce作业从java Web应用程序提交到远程Hadoop集群,但无法指定应该为哪个用户提交作业.我想配置和使用应该用于所有MapReduce作业的系统用户.

目前,我无法指定任何用户,无论hadoop作业在客户端系统当前登录用户的用户名下运行.这会导致消息出错

Permission denied: user=alice, access=WRITE, inode="staging":hduser:supergroup:rwxr-xr-x
Run Code Online (Sandbox Code Playgroud)

...其中"alice"是客户端计算机上的本地登录用户.

我试过了

  1. 创建UserGroupInformation实例的各种组合(代理和普通用户)和
  2. 设置Java System属性-Duser.name=hduser,更改USERenvar和作为硬编码System.setProperty("user.name", "hduser")调用.

......无济于事 关于1)我承认不知道应该如何使用这些类.另请注意,更改Java System属性显然不是在Web应用程序中使用的真正解决方案.

是否有任何机构知道您如何指定Hadoop用于连接远程系统的用户?

PS/Hadoop使用默认配置,这意味着在连接到群集时不使用身份验证,并且Kerberos不用于与远程计算机通信.

hadoop cluster-computing

29
推荐指数
2
解决办法
3万
查看次数

将哈希映射键/值对映射到Scala中的命名构造函数参数

是否可以将Map的键值对映射到具有命名参数的Scala构造函数?

也就是说,给定

class Person(val firstname: String, val lastname: String) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

...如何使用类似的地图创建Person的实例

val args = Map("firstname" -> "John", "lastname" -> "Doe", "ignored" -> "value")
Run Code Online (Sandbox Code Playgroud)

我最终想要实现的是将Node4J Node对象映射到Scala值对象的好方法.

scala

9
推荐指数
1
解决办法
4953
查看次数

如何在C#.NET中替换现有XML文件的内容?

尝试使用如下代码段替换C#.NET中的XML文件的内容时:

string file = Path.GetTempFileName(); // pretend this is a real file
string tmpFile = Path.GetTempFileName();

using (var writer = XmlWriter.Create(File.Create(tmpFile)))
{
    writer.WriteStartElement("root");
    for (int i = 0; i < 100; i++)
    {
        writer.WriteElementString("test", null, 
            "All work and no play makes Jack a dull boy");
    }
    writer.WriteEndElement();
}

File.Delete(file);
File.Move(tmpFile, file);
Run Code Online (Sandbox Code Playgroud)

...我收到一个System.IO.IOException,声称该文件已被另一个进程打开.

.net c# xml locking file

2
推荐指数
1
解决办法
895
查看次数

标签 统计

.net ×1

c# ×1

cluster-computing ×1

file ×1

hadoop ×1

locking ×1

scala ×1

xml ×1