使用Ubuntu Master和Windows从属的Hadoop群集配置



嗨,我是hadoop的新手。

hadoop版本(2.2.0)

目标:

  1. 设置Hadoop独立-Ubuntu 12 (已完成)
  2. 设置Hadoop独立 - Windows 7(仅用于SSHD)(已完成)
  3. 使用Ubuntu Master和Windows 7从设置集群(这主要用于学习目的,并为开发设置ENV)(Stuck)

与以下问题的关系设置:

  • Master用Hadoop 2.2.0
  • 在Ubuntu上运行
  • 在Windows 7上运行的奴隶,带有Hadoop 2.2.0源的自我编译版本。我仅将cygwin用于sshd
  • 密码更少的登录设置,我可以使用SSH登录两种方式从外面的Hadoop。由于我的Ubuntu和Windows机器有我已经在.ssh文件夹中设置了一个配置文件的不同用户名哪个地图托管用户

问题:

  1. 在集群中,主机中的用户名必须与从属中相同。我要问的原因是当我尝试使用start-dfs时,集群的帖子配置。Hadoop/bin/hadoop-daemon.sh"在奴隶中。" xxx"是我的主用户名,而不是从奴隶。同样,由于我在纯Windows版本中的从属版本的安装在C:/hadoop/...大师是否会查看ENV变量$ HADOOP_HOME以检查从属中的位置吗?我还有其他我需要设置的ENV变量吗?

  2. 我的目标是使用从奴隶上使用Windows Hadoop构建,因为Hadoop现在正式支持Windows。但是,最好在Cygwin下运行Linux构建以实现这一目标。这个问题是因为我看到start-dfs.sh试图执行hadoop-daemon.sh而不是 *.cmd。

  3. 如果将来此设置有效,那么我可能会有的一个可能的问题是,猪,mahout等是否会以这种设置运行,因为我还没有看到猪的构建,windows的mahout。这些组件是否仅需要在主节点上存在,还是也需要在从属节点中。我首先使用MAHOUT脚本在Linux和第二次使用Yarn Jar命令中使用的Mahout脚本在使用MAHOUT脚本时看到了两种运行Mahout的方法,在使用Windows版本时,我可以在Mahout Jar中传递。在这种情况下,Mahout/Pig(使用提供的SH脚本时)将假设奴隶已经已经有罐子已经到位,则Ubuntu Windows组合似乎不起作用。请建议。

正如我提到的那样,这更多是作为实验而不是实施计划。我们的最终ENV将完全在Linux上。谢谢您的建议。

您可能会通过部署Hadoop的更多标准方式获得更多成功。尝试使用Ubuntu VM的主人和奴隶。

您也可以尝试进行伪分布的部署,其中所有过程在单个VM上运行,从而避免需要考虑多个OS。

我只使用了相同的用户名。通常,SSH允许使用-l命令使用不同的登录名来登录。但这可能会很棘手。您必须在奴隶文件中列出您的奴隶。

至少在手册上https://hadoop.apache.org/docs/r0.19.1/cluster_setup.html#slaves我找不到任何可添加用户名的东西。可能值得尝试将-l login_name添加到从属文件中的从slavenode中,看看它是否有效。

最新更新