哪些是特定于Linux的Hadoop内部构件?

哪些是特定于Linux的Hadoop内部构件?,linux,hadoop,cygwin,internals,Linux,Hadoop,Cygwin,Internals,我试图了解为什么hadoop除了运行shell脚本外,还需要在windows中使用cygwin。我知道hadoop的各个部分中都有特定于POSIX的实现,我只是想知道hadoop的哪些部分是特定于Linux的 感谢您,Hadoop使用shell脚本启动和停止主进程和从进程,以及其他功能。它还需要openssh(无密码)。安装cygwin是解决这一问题的最简单方法。一些Hadoop内部需要Java未提供的有关系统的详细信息或操作 因为在Java6中,IIRC不可能更改文件的所有者 但是,Hadoo

我试图了解为什么hadoop除了运行shell脚本外,还需要在windows中使用cygwin。我知道hadoop的各个部分中都有特定于POSIX的实现,我只是想知道hadoop的哪些部分是特定于Linux的


感谢您,Hadoop使用shell脚本启动和停止主进程和从进程,以及其他功能。它还需要openssh(无密码)。安装cygwin是解决这一问题的最简单方法。

一些Hadoop内部需要Java未提供的有关系统的详细信息或操作

因为在Java6中,IIRC不可能更改文件的所有者

但是,Hadoop需要这种类型的操作。在这些情况下,Hadoop在单独的进程中执行Unix命令。实用程序类包含许多这样的子进程调用

名单包括

  • 乌利米特
  • 奇莫德
  • ls
  • 及其他
出于类似的原因,该类使用setsid和kill

由于Hadoop使用这些应用程序,它们必须在父系统上可用。Cygwin提供了这一点

[编辑:]
实际上,lib/native中的本机代码是可选的。仅当存在匹配的库版本时才使用它(出于性能原因)。

我假设
lib/native
中的本机lib运行脚本并配置。