伪分布式运行mapreduce

在使用HDFS之前,需要保证hadoop处于运行状态

在HDFS中创建用户目录

./bin/hdfs dfs -mkdir -p /user/hadoop

在user/hadoop 中建立input文件夹,将etc/hadoop中的xml文件复制到input文件夹中作为输入文件

./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/*.xml input

复制完成后,可以通过命令查看文件列表

./bin/hdfs dfs -ls input

在这里插入图片描述
伪分布式运行mapreduce读取的是HDFS的文件

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

利用命令查看运行结果,输出结果位于HDFS中

./bin/hdfs dfs -cat output/*

在这里插入图片描述
也可以将运行结果取到本地

rm -r ./output    # 先删除本地的 output 文件夹
./bin/hdfs dfs -get output ./output    
cat ./output/*

hadoop运行程序时,为了防止覆盖结果,程序指定的输出目录不能存在(如output),否则会提示错误,运行前要先删除output文件夹

./bin/hdfs dfs -rm -r output    # 删除 output 文件夹

在这里插入图片描述
如果需要关闭hadoop,运行

./sbin/stop-dfs.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章