嗨,我是hadoop的新手。
hadoop版本(2.2.0)
目标:
安装hadoop单机版-ubuntu 12(已完成)
安装hadoop单机版-windows 7(cygwin仅用于sshd)(已完成)
用ubuntu主机和windows7从机安装cluster(这主要是为了学习和为开发设置env)(卡住了)
与以下问题相关的设置:
使用hadoop2.2.0在ubuntu上运行master
从机运行在Windows7上,具有Hadoop2.2.0源代码的自编译版本。我只为sshd使用cygwin
无密码登录设置,我可以从hadoop外部使用ssh双向登录。由于我的ubuntu和windows机器有不同的用户名,我在.ssh文件夹中设置了一个配置文件,将主机与用户Map
问题:
在集群中,主机中的用户名是否需要与从机中的用户名相同。我问这个问题的原因是,当我尝试使用start-dfs.sh时,集群的post配置日志说,它们能够通过ssh连接到从属节点,但无法在从属节点中找到位置“/home//hadoop/bin/hadoop daemon.sh”。“”是我的主用户名,而不是从属用户名。另外,由于我的从属版本是纯windows版本,所以安装在c:/hadoop/。。。主机是否查看env变量$hadoop\u home来检查安装在从机中的位置?我还需要设置其他环境变量吗?
我的目标是使用WindowsHadoop构建在slave上,因为hadoop现在正式支持windows。但是在cygwin下运行linux构建来实现这一点更好吗。问题来了,因为我看到start-dfs.sh试图执行hadoop-daemon.sh而不是*.cmd。
如果这个设置在将来成功的话,一个可能的问题是pig,mahout等是否会在这种设置中运行,因为我还没有看到pig,mahout for windows的构建。这些组件需要只出现在主节点上,还是也需要出现在从节点上。在尝试独立模式时,我看到了两种运行mahout的方法:第一种是使用mahout脚本,我可以在linux中使用该脚本;第二种是使用yarn-jar命令,我在使用windows版本时传入了mahout jar。如果mahout/pig(在使用提供的sh脚本时)假设从机已经安装了jar,那么ubuntu+windows组合似乎不起作用。请给我建议。
正如我提到的,这更像是一个实验,而不是一个实施计划。我们的最终env将完全在linux上。谢谢你的建议。
2条答案
按热度按时间zujrkrfu1#
我只使用了相同的用户名。一般来说,ssh允许使用-l命令以不同的登录名登录。但这可能会变得棘手。你必须在slaves文件中列出你的slaves。
至少在手册上https://hadoop.apache.org/docs/r0.19.1/cluster_setup.html#slaves 我没有找到任何可以添加用户名的东西。在slave conf文件中将-l login\u name添加到slavenode中,看看是否有效。
cs7cruho2#
用更标准的方式部署hadoop可能会更成功。尝试使用ubuntuvm的主机和从机。
您还可以尝试执行一个伪分布式部署,其中所有进程都在一个vm上运行,因此甚至不需要考虑多个os。