Hadoop运行模式之本地模式和伪分布式

一、前言:

Hadoop中可使用案例的文件路径:

/usr/local/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar

在hadoop-2.7.3的etc目录的Hadoop下修改配置文件:

/usr/local/hadoop/hadoop-2.7.3/etc/hadoop  

二.本地模式

不需要配置任何配置文件,并将匹配的数据放到一个新文件夹中

1.1、在 hadoop-2.7.3文件下创建input文件 :mkdir input

1.2、将需要计算的文件复制到input下

1.3、执行share目录下的mapreduce程序

        [root@test221 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.7.3.jar grep /usr/local/hadoop-2.7.3/input  /usr/local/hadoop-2.7.3/output 'zhi[a-z.]+'  (前提是output文件不存在)

1.4、在hadoop-2.7.3文件中的output文件目录下输入cat+文件名 查看输出结果

三、伪分布式  等同于完全分布式,只有一个节点。

2.1、伪分布式,运行在HDFS上

特点:跟完全分布式是一样的,只不过只有一台节点,我们需要将数据上传到HDFS上分布式存储,从HDFS上获取数据使用MapReduce进行分布式计算

2.2、配置文件

         2.2.1、hadoop-env.sh

   配置JAVA_HOME即可,第25行

   export JAVA_HOME=/usr/local/jdk1.8.0_181

         2.2.2、core-site.xml


<!-- 指定HDFS中NameNode的地址 -->

<property>

        <name>fs.defaultFS</name>

        <value>hdfs://zhiyou101:9000</value>

</property>



<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

        <name>hadoop.tmp.dir</name>

        <value>/var/hadoop-2.7.3/data/tmp</value>

</property>

          2.2.3、hdfs-site.xml


<!-- 指定HDFS副本的数量,默认是3,因为我们是伪分布式只有一台计算机,设置副本数为1 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

2.3、启动伪分布式集群(在/usr/local/hadoop/hadoop-2.7.3/etc/hadoop路径下启动

2.3.1、启动前先格式化NameNode ,而且只需要格式化一次,以后就不需要啦,并且在在core-site.xml文件中配置的hadoop运行时目录就已经创建,里边就保存了namenode的信息2.3、启动伪分布式集群(在/usr/local/hadoop/hadoop-2.7.3/etc/hadoop路径下启动

                      hdfs namenode -format 

           2.3.2、先启动NameNode 在启动DataNode

                      hadoop-daemon.sh start namenode

                      hadoop-daemon.sh start datanode

2.4、终端查看

        Jps命令

                                                 

2.5、浏览器查看

   在地址栏上输入:http://zhiyou101:50070

        

2.6、 在 HDFS上运行 mapreduce程序

[root@test221 mapreduce]#

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount   /usr/wc/input/wctest.txt   /usr/wc/output

2.6、查看结果

[root@test221 hadoop-2.7.3]# hdfs dfs -cat /usr/wc/output/part-r-00000

 

3 、伪分布式运行在YARN上

3.1在HDFS上的基础上新增以下配置

3.2、yarn-env.sh

             配置JAVA_HOME

             export JAVA_HOME=/usr/local/jdk1.8.0_181

3.3、yarn-site.xml

<!-- reducer获取数据的方式 -->

<property>

 <name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>zhiyou101</value>

</property>

3.4、mapred-env.sh

                配置JAVA_HOME

                export JAVA_HOME=/usr/local/jdk1.8.0_181

3.5、mapred-site.xml

               该文件是没有的,重命名

               [root@zhiyou101 hadoop]# cp mapred-site.xml.template mapred-site.xml

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

3.6、启动

          先启动hdfs

3.6.1、启动nodemanager

            [root@zhiyou101 hadoop]# yarn-daemon.sh start nodemanager

3.6.2、启动resourcemanager

[root@zhiyou101 hadoop]# yarn-daemon.sh start resourcemanager

3.6.3、一键启动yarn

start-yarn.sh

3.6.4、停止

[root@zhiyou101 hadoop]# yarn-daemon.sh stop nodemanager

[root@zhiyou101 hadoop]# yarn-daemon.sh stop resourcemanager

stop-yarn.sh

3.6.5、查看yarn

1)使用jps命令

2)浏览器查看

http://zhiyou101:8088

4、历史任务

4.1、目的

              可以看到YARN上执行过的所有任务

4.2、配置 

              修改mapred-site.xml


<!--添加历史服务-->

<property>

<name>mapreduce.jobhistory.address</name>

<value>zhiyou101:10020</value>

</property>

<!--web网页访问配置-->

<property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>zhiyou101:19888</value>

</property>

4.3、启动历史服务

[root@zhiyou101 sbin]# ./mr-jobhistory-daemon.sh start historyserver

 

猜你喜欢

转载自blog.csdn.net/qq_44776691/article/details/88957272