我想在hadoop-2.7.3中创建一个物理上驻留在外部(usb-thumb)驱动器上的文件夹,这个想法是我-copyFromLocal的任何文件都将驻留在拇指驱动器上。同样,hadoop的任何输出文件也会转到外部驱动器:
mkdir /media/usb
mount /dev/sdb1 /media/usb
hdfs dfs -mkdir /media/usb/test
hdfs dfs -copyFromLocal /media/source/input.data /media/usb/test
hadoop jar share/hadoop/tools/lib/hadoop-streaming-*.jar \
-input /media/usb/test/input.data \
-output /media/usb/test/output.data
但是当我尝试制作上面的文件夹时,我没有遇到这样的文件/文件夹错误..只有当我将文件夹设置为hadoop本地文件时,它才有效:
hdfs dfs -mkdir /test
hdfs dfs -copyFromLocal /media/source/input.data /test
不幸的是,这会将输入数据文件放在与hadoop安装相同的驱动器上,这几乎已满。有没有办法制作/映射HDFS文件夹,以便它从hadoop驱动器以外的驱动器读/写?
答案 0 :(得分:0)
你想要做的事是不可能的!它违背了分布式存储和处理的整个想法。
当您执行 q1 = (RadioGroup) getActivity().findViewById(R.id.radioGQ1);
文件从本地传输到HDFS位置(hadoop管理)时。您可以将新驱动器添加为HDFS DataNode,但可能不会强制要求文件移动到它。
如果space是唯一的约束,那么将新驱动器添加为datanode并重新平衡群集。
添加新节点并在其上启动datanode服务后,使用以下方式平衡群集:
copyFromLocal