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

时间:2014-01-23 06:39:03

标签: hadoop

嗨,我是Hadoop的新手。

Hadoop版本(2.2.0)

目标:

  1. 设置Hadoop独立 - Ubuntu 12 (已完成)
  2. 设置Hadoop独立 - Windows 7(仅用于sshd的cygwin)(已完成)
  3. 使用Ubuntu Master和Windows 7 slave设置集群(这主要用于学习目的并设置开发环境)(坚持)
  4. 与以下问题建立关系:

    • 使用hadoop 2.2.0
    • 在Ubuntu上运行
    • Slave在Windows 7上运行,带有来自hadoop 2.2.0源代码的自编译版本。我只使用cygwin作为sshd
    • 密码少登录设置,我可以使用ssh登录两种方式 来自外面的hadoop。因为我的Ubuntu和Windows机器都有 不同的用户名我在.ssh文件夹中设置了一个配置文件 将主机与用户进行映射

    问题:

    1. 在群集中,主服务器中的用户名需要与从服务器中的用户名相同。我问这个的原因是,当我尝试使用start-dfs.sh时,集群的后配置说日志说他们能够ssh到从属节点但是无法找到位置“/ home / xxx /在奴隶中的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. 如果这个设置将来有用,我可能会遇到的问题是Pig,Mahout等是否会在这种设置中运行,因为我还没有看到Pig,Mahout for Windows的版本。这些组件是否只需要存在于主节点上,还是需要位于从属节点中。我首先使用mahout脚本尝试独立模式时看到了两种运行mahout的方法,我可以在linux中使用它,然后使用yarn jar命令,我在使用windows版本时传入了mahout jar。在Mahout / Pig(使用提供的sh脚本时)的情况下,假设奴隶已经安装了jar,那么Ubuntu + Windows组合似乎不起作用。请指教。

    4. 正如我所提到的,这更像是一个实验,而不是一个实施计划。我们的最终环境将完全在Linux上。谢谢你的建议。

2 个答案:

答案 0 :(得分:1)

使用更加标准的部署hadoop的方法可能会取得更大的成功。尝试使用ubuntu vm for master和slave。

您还可以尝试进行伪分布式部署,其中所有进程都在单个VM上运行,因此无需考虑多个操作系统。

答案 1 :(得分:1)

我只使用相同的用户名。通常,SSH允许使用-l命令以不同的登录名登录。但这可能会变得棘手。您必须在从属文件中列出您的从属。

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