Hadoop单机模式下运行grep实例,output文件目录不存在
问题原因:Hadoop默认安装单机模式,但当前Hadoop安装的是伪分布式模式,其配置文件影响了单机模式下的运行。
解决方法:还原配置文件(删除前保存好,以便重新安装伪分布式模式)
①在切换回单机模式之前,确保所有Hadoop服务都已停止。使用命令停止HDFS和YARN服务:
stop-all.sh
②打开终端,进入/usr/local/hadoop目录,打开gedit(使用vim同理),进入其中一个配置文件:
gedit ./etc/hadoop/core-site.xml
③在<configuration>里删除下列命令(删除前保存好,以便重新安装伪分布式模式)
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
保存退出。
④进入另一个配置文件:
gedit ./etc/hadoop/hdfs-site.xml
⑤在<configuration>里删除下列命令(删除前保存好,以便重新安装伪分布式模式)
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
保存退出。
重新执行grep实例的步骤,应该就能成功了。
最后应重新进入配置文件,把内容重新放回配置文件,以运行伪分布式模式。
启动Hadoop(已配置了环境变量),观察是否开启成功。
start-dfs.sh