hadoop中应该在哪里保存reducer和mapper文件

slsn1g29  于 2021-07-13  发布在  Hadoop
关注(0)|答案(0)|浏览(156)

我是hadoop新手。我在hadoop中有多节点(3节点)。我有4个virtualbox(1个主节点和3个数据节点)。我的主机是windows,4vm是linux和ubuntu。
192.112.56.1(主节点-30gb ram、6核vcpu、40gb硬盘)
192.112.56.2(数据节点1-24gb ram、6核vcpu、100gb硬盘)
192.112.56.3(数据节点2-24gb ram、6核vcpu、100gb硬盘)
192.112.56.3(数据节点3-24gb ram、6核vcpu、100gb硬盘)
集群显示完美,3个数据节点显示。
我将mapper.py和reducer.py保存在masternode本地存储上。当我运行hdfs时,会显示一个错误:没有这样的文件或目录mapper.py和reducer.py
我把我的reducer和mapper文件保存在masternode中:这是路径/usr/local/code/,我确实确保了这个目录有权限。
我想,也许我也必须把文件放在datanode中,并将/usr/local/code/directory复制到所有datanode中。
然后这个错误消失了。
我的问题是我是否需要在每个数据节点和主节点上放置reducer.py和mapper.py文件?我真的很困惑。将输入文件保存在hdfs中。
以下是从主节点运行作业的命令:

hadoop jar /usr/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-3.2.1.jar -mapper /usr/local/code/mapper.py -reducer /usr/local/code/reducer.py -input /hduser/dataset.txt -output /hduser/output

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题