hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

一、配置相关文件

在hadoop-2.9.2下etc/hadoop/core-site.xml中配置:

<configuration>
    <!--指定HDFS中NameNode的地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
    </property>
    <!--指定hadoop运行时产生文件的存储目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.9.2/data/tmp</value>
    </property>
</configuration>

hadoop01是当前主机名。

在hdfs-site.xml中配置

<!--指定HDFS副本的数量-->
<configuration>
    <name>dfs.replication</name>
    <value>1<value>
</configuration>

配置hadoop-env.sh:

export JAVA_HOME=/opt/module/jdk1.8.0_11

二、启动集群

在hadoop-2.9.2目录下

(1)格式化NaneNode(第一次启动时要格式化,以后就不要总格式化)

bin/hdfs namenode -format

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

(2) 启动NameNode

sbin/hadoop-daemon.sh start namenode

之后使用jps查看:

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

(3) 启动DataNode

sbin/hadoop-daemon.sh start datenode

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

 (3)关闭防火墙

systemctl status firewalld.service查看防火墙状态

systemctl stop firewalld.service 关闭运行的防火墙

然后在windows中就可以访问了:

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

进入到以下目录中:

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

在hadoop-2.9.2目录下输入:

bin/hdfs dfs -mkdir -p /user/gong/input 

刷新浏览器中刚才的目录,就会出现:

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

我们上传一个数据上去:

bin/hdfs dfs -put wcinput/wc.input /user/gong/input 

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

(4) 执行一个实例WordCount

在hadoop-2.9.2目录下输入:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /user/gong/input /user/gong/output

然后在浏览器中就可以看到结果啦:

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)

可以在Linux中运行bin/hdfs dfs -cat /user/gong/output/p* 查看

hadoop伪分布式之启动HDFS并运行MR程序(WordCount)