如何设置Map器的系统环境?

gv8xihay  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(283)

首先,我尝试了如何从mapper hadoop设置系统环境变量?但是 mapred.map.child.env 不适合我。
我正在使用hadoop0.20.1。我想通过所有系统的环境从类开始的工作,以Map器。我是这样做的:

StringBuilder envStr = new StringBuilder();
    for (Entry<String, String> entry : System.getenv().entrySet()) {
        envStr.append(entry.getKey() + "=" + entry.getValue() + ",");
    }
    if (envStr.length() > 0) {
        envStr.deleteCharAt(envStr.length() - 1);
    }
    // System.out.println("Setting mapper child env to :" + envStr);
    getConf().set("mapred.map.child.env", envStr.toString());

但它不起作用。我也试过只设置一个系统值,但也不起作用。在Map器中,system.getenv不包含该值。但是job.xml有关键和价值。有什么办法吗?

bxgwgixi

bxgwgixi1#

看来你的hadoop太老了。这是hadoop0.20的一个bug。
plz上升至0.21或更稳定的1.0.x。
有关更多信息,请参阅相关的jira和hadoop0.21.0发行说明。

相关问题