什么是伪分布式模式?它与本地运行模式以及完全分布式模式有什么区别?

伪分布式的配置信息,完全是按照完全分布式的模式去搭建的,但是它只有一台服务器,可以用于学习和测试,真正的开发中不可以使用。

目录

一、使用软件

二、启动HDFS并运行MapReduce程序

1、配置集群

2、启动集群

3、查看集群

4、操作集群

5、注意

三、启动Yarn并运行MapReduce程序

1、配置集群

2、启动集群

3、操作集群

四、配置历史服务器

1、配置mapred-site.xml

2、启动历史服务器

3、查看历史服务器是否启动

4、查看JobHistory

五、配置日志的聚集

1、关闭NodeManager 、ResourceManager和HistoryManager

2、配置yarn-site.xml

3、启动NodeManager 、ResourceManager和HistoryManager

4、删除HDFS上已经存在的输出文件

5、执行WordCount程序

6、查看日志

六、配置文件说明


一、使用软件

1、VMware15.5

2、centos6.4(64位)

3、java1.8.0_144(64位)

4、hadoop 2.7.2

二、启动HDFS并运行MapReduce程序

1、配置集群

配置文件都在该目录下 : /opt/module/hadoop-2.7.2/etc/hadoop

(善于利用tab键)

(1)配置:hadoop-env.sh

hadoop-env.sh:修改JAVA_HOME的路径

(2)配置:core-site.xml

其中的hadoop01的位置根据自己的主机名进行相应的修改

hadoop.tmp.dir:hadoop运行时产生文件的存储目录。之后的很多框架默认的存储路径是:/tmp/hadoop-${user.name},但是一般不会把数据存放在系统的tmp目录下,修改到当前工程的路径下。

修改了这一块之后,运行本地模式会报错,因为协议发生了变化,默认的是file:///

<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.7.2/data/tmp</value></property>
</configuration>

(3)配置:hdfs-site.xml

hdfs-site.xml:指定HDFS副本的数量(默认值是3),副本:同时在3台机器上存储了同一份的数据,任何一台节点的数据挂掉,那么还有两份,还会在另一台服务器上增加这个节点,始终保证这个集群上的副本是3。副本的多少取决去机器的性能

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

2、启动集群

(1)格式化NameNode

格式化NameNode,第一次启动时格式化,以后不要总是格式化,因为格式化一次,就把集群上的数据全部清空了。在格式化的过程当中,如果有任何提示你已经格式化过,是否重新格式化,遇到任何的提示,就应该需要重新格式化,

bin/hdfs namenode -format


(2)启动NameNode

sbin目录下,hadoop-daemon.sh是hadoop的守护进程,它可以启动hadoop的NamdeNode,启动Hadoop的DataNode

sbin/hadoop-daemon.sh start namenode

(3)启动DataNode

sbin/hadoop-daemon.sh start datanode

3、查看集群

(1)使用jps

查看是否启动了,使用jps的命令,如果提示jps不生效,则可能是jdk安装的问题,或者是没有source /etc/profile

(2)web端查看(注意修改成自己的ip)

http://192.168.223.133:50070/dfshealth.html#tab-overview

(3)查看产生的Log日志

4、操作集群

(1)在HDFS问价系统上创建一个input文件夹

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

(2)将测试文件内容上传到文件系统

这里的input文件也可以自己创建一个

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

(3)查看上传文件是否正确

可以看到文件夹下有刚刚上传的wc.input文件

bin/hdfs dfs -ls /user/zzz/input/
bin/hdfs dfs -cat /user/zzz/input/wc.input

(4)运行MapReduce程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/zzz/input/ /user/zzz/output

(5)查看输出结果

命令行查看 或者 web端查看

bin/hdfs dfs -cat /user/zzz/output/p*

(6)将输出文件内容下载到本地

bin/hdfs dfs -get /user/zzz/output/part-r-00000 ./wcoutput/

(7)删除输出结果

bin/hdfs dfs -rm -r /user/zzz/output

5、注意

【关于NameNode需要注意什么?】

在格式化之前,要确定DataNode和NameNode的进程是否退出,再删除data和logs文件夹,对于第一次格式化不存在这个问题。

格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

三、启动Yarn并运行MapReduce程序

Yarn由四个部分组成,ResourceManager(RM),NodeManager(NM),ApplicationMaster(AM),Container

1、配置集群

配置文件都在该目录下 : /opt/module/hadoop-2.7.2/etc/hadoop

(善于利用tab键)

(1)配置yarn-env.sh

echo $JAVA_HOME

(2)配置yarn-site.xml

<configuration><!-- Site specific YARN configuration properties --><!-- Reducer获取数据的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop01</value></property>
</configuration>

(3)配置mapred-env.sh

和(1)一样,配置JAVA_HOME

(4)配置(对mapred-site.xml.template重新命名为) mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

<configuration><!-- 指定MR运行在YARN上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

2、启动集群

(1)启动前必须保证NameNode,DataNode已启动

(2)启动ResourceManager

sbin/yarn-daemon.sh start resourcemanager

(3)启动NodeManager

sbin/yarn-daemon.sh start nodemanager

3、操作集群

(1)Yarn浏览器页面查看

http://192.168.223.133:8088/cluster

(2)删除文件系统上的output文件

bin/hdfs dfs -rm -R /user/atguigu/output

(3)执行MapReduce程序

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/zzz/input/ /user/zzz/ouput

(4)查看运行结果

bin/hdfs dfs -cat /user/zzz/ouput/*

四、配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。

1、配置mapred-site.xml

在里面增加如下

    <!-- 历史服务器端地址 --><property><name>mapreduce.jobhistory.address</name><value>hadoop01:10020</value></property><!-- 历史服务器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop01:19888</value></property>

2、启动历史服务器

所有的启动脚本都在 /opt/module/hadoop-2.7.2/sbin 目录下

sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /opt/module/hadoop-2.7.2/logs/mapred-zzz-historyserver-hadoop01.out

3、查看历史服务器是否启动

4、查看JobHistory

查看url:http://192.168.223.133:19888/jobhistory/,点击具体的JobID,会看到更加详细的页面

左侧栏:

Counters会记录你整个系统运行情况的各种技术信息

Configuration:配置信息

Map Tasks:包括Map阶段的名称,状态,开始时间,结束时间等

Reduce Tasks:包括Reduce阶段的名称,状态,开始时间,结束时间等

五、配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。

日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager

开启日志聚集功能具体步骤如下:

1、关闭NodeManager 、ResourceManager和HistoryManager

sbin/mr-jobhistory-daemon.sh stop historyserver
sbin/yarn-daemon.sh stop nodemanager
sbin/yarn-daemon.sh stop resourcemanager

2、配置yarn-site.xml

3、启动NodeManager 、ResourceManager和HistoryManager

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver

4、删除HDFS上已经存在的输出文件

5、执行WordCount程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/zzz/input /user/zzz/output

6、查看日志

http://192.168.223.133:19888/jobhistory点击具体的JobID,点击logs,就可以看到更为具体的日志

进入/opt/module/hadoop-2.7.2/logs查看也可以。

六、配置文件说明

1、core-site.xml

HDFS中NameNode地址,指定Hadoop运行时产生文件的存储目录

2、hdfs-site.xml

指定HDFS副本的数量

3、yarn-site.xml(yarn目前只用到NodeManager,ResourceManager)

Reducer获取数据的方式,指定YARN的ResourceManager的地址,日志聚集功能使能,日志保留时间设置

4、mapred-site.xml

指定MR运行在YARN上(默认是local),历史服务器端地址,历史服务器web端地址

Hadoop运行模式 之 伪分布式运行模式相关推荐

  1. Hadoop 的三种运行模式_本地模式_伪分布式模式

    演示的版本是:2.7.2 官方文档 Hadoop运行模式 Hadoop运行模式包括:本地模式.伪分布式模式以及完全分布式模式. Hadoop官方网站:http://hadoop.apache.org/ ...

  2. 20200903-03-Hadoop运行模式之本地运行模式伪分布式运行模式

    准备工作: 1.一台Linux机器[windows也支持,参考:https://cwiki.apache.org/confluence/display/HADOOP2/Hadoop2OnWindows ...

  3. Hadoop单机模式和伪分布式搭建教程CentOS

    版权声明:本文为博主原创文章,欢迎转载,请注明地址. 目录(?)[-] 准备工作 1 软件准备 2 创建hadoop用户 3 配置SSH无密码访问 4 安装JAVA环境 单机模式安装 伪分布式安装 首 ...

  4. Ubuntu下的Java和Hadoop安装及配置伪分布式教程

    Hadoop安装及配置伪分布式教程 1.创建hadoop用户 更新apt 2.安装SSH.配置SSH无密码登陆 安装SSH 配置SSH无密码登录 3.安装Java环境 4.安装Hadoop3.1.3 ...

  5. 5.Hadoop的学习(Hadoop的配置(伪分布式的搭建)-1)

    1.Hadoop的配置 独立模式.伪分布式.完全分布式 2.安装完之后就已经是独立模式了. (1)在独立模式之下是没有守护进程的,可以输入命令 jps   会发现只有一个Jps,没有其他守护进程. ( ...

  6. hadoop 2.7.3伪分布式安装

    hadoop 2.7.3伪分布式安装 hadoop集群的伪分布式部署由于只需要一台服务器,在测试,开发过程中还是很方便实用的,有必要将搭建伪分布式的过程记录下来,好记性不如烂笔头. hadoop 2. ...

  7. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  8. Hadoop安装教程_伪分布式配置-Ubuntu-CentOS6(究极详细、厦门大学数据库实验室)

    Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0(2.7.1)/Ubuntu14.04(16.04) 林 ...

  9. Hadoop的三种模式(单机模式,伪分布式,完全分布式)以及集群的搭建

    基本概念: 1. Hadoop是一个分布式文件系统的基础架构,用户可以利用集群进行高速运算和存储 2. Hadoop实现了一个分布式文件系统(Hadoop Distributed File Syste ...

最新文章

  1. 如何运营一个合法的经营性网站?办理经营性ICP证!
  2. C/C++中使用函数memset对int型数组赋值(0,-1,max,min)
  3. 文巾解题 994. 腐烂的橘子
  4. [转载] 七龙珠第一部——第034话 红缎带军团
  5. Reversing-x64Elf-100
  6. Leetcode--781.森林中的兔子
  7. 飞鸽传书2009绿色版 官方网站下载地址
  8. java 查看虚拟机状态_深入理解java虚拟机学习笔记(四)虚拟机性能监控与故障处理工具...
  9. Redmi Note 10系列细节曝光:有望4G/5G双版本齐发
  10. python矩阵元素排序,使用Python基于列表值对矩阵列进行排序
  11. 怎么查看php是否安装了symfony_为什么开发人员讨厌PHP???
  12. 组件三层_Java三层架构原理与作用小结
  13. (进来补知识啦!)利用双四选一数据选择器74153实现十六选一数据选择器(包含74153简单解释)
  14. access mysql并发_多用户同时使用ACCESS
  15. css3多变形,CSS3 clip-path polygon图形构建与动画变换二三事
  16. python桌面整理小助手
  17. excel查找在哪里_数据分析,如何学好Excel
  18. 蓝桥杯 14校4-回文数字  观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。   本题要求你找到一些5位或6位的十进制
  19. pwn基础之ctfwiki-栈溢出-基本ROP-ret2text
  20. 取模(取余)的具体含义

热门文章

  1. (C++)1046 Shortest Distance
  2. LeetCode Python题解(二)----排序
  3. SDK开发日积月累(二)
  4. Android 在运行时请求权限
  5. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析
  6. iOS--优秀博客记录
  7. LinearLayout增加divider分割线
  8. ubuntu安装redis的方法以及PHP安装redis扩展、CI框架sess使用redis的方法
  9. Velocity文档(3)
  10. 通过hibernate 查询出来的数据默认为持久状态,也就是说:你在后头作出的任何操作都会被hibernate自动同步更新到数据库