大数据Hadoop安装部署-2-单节点配置
总体目录:
一、虚拟机及CentOS安装配置
1、 软件准备
2、 虚拟机网络配置
二、单节点Hadoop
1、安装hadoop
2、配置hadoop
3、启动运行hadoop
三、集群Hadoop
1、克隆其他节点
2、配置集群
3、启动运行集群
内容简介:本文详细讲解了大数据应用重要系统Hadoop的安装和部署,包括Linux相关配置、单节点、集群的配置方法和MapReduce任务的验证,本文分成三个部分,请参阅。原创不易,转载请声明。
《大数据Hadoop安装部署-1-CentOS》
《大数据Hadoop安装部署-2-单节点配置》
《大数据Hadoop安装部署-3-集群配置》
二、单节点Hadoop
1、安装hadoop
我们使用的是原生hadoop,即Apache版本的,还有一个是CDH版的不在本文讲解范围内。
Apache版本的官网地址是https://hadoop.apache.org/,我们使用2.7.3版本,下载地址为https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
解压安装tar包
进入到tar上传到的那个目录内
cd /home/hadoop/Downloads
执行下面指令
tar -xvf hadoop-2.7.3.tar.gz -C /usr/local/apps
配置环境变量
vi /etc/profile
输入i,进入编辑模式,接前,添加修改下面代码
export JAVA_HOME=/usr/local/apps/jdk1.8.0_77
export HADOOP_HOME=/usr/local/apps/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
然后输入:wq保存退出
刷新配置文件
source /etc/profile
检查效果,打出hadoop版本,检查是否一致
hadoop version
Hadoop2.7.3
Subversionhttps://git-wip-us.apache.org/repos/asf/hadoop.git-rbaa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiledbyrooton2016-08-18T01:41Z
Compiledwithprotoc2.5.0
Fromsourcewithchecksum2e4ce5f957ea4db193bce3734ff29ff4
Thiscommandwasrunusing/usr/local/apps/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
创建必要的运行目录并授权
mkdir -p /opt/hadoop/tmp
mkdir -p /opt/hadoop/hdfs/name
mkdir -p /opt/hadoop/hdfs/data
chmod -R 755 /opt/hadoop
755权限值:
所有者(Owner):7(读4+写2+执行1)
所属组(Group):5(读4+执行1)
其他用户(Others):5(读4+执行1)
效果:所有者可读写执行,组用户和其他用户仅可读和执行。
2、配置hadoop
2.1检查java关联
检查/usr/local/apps/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件
vi /usr/local/apps/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
确保存在如下配置
#The java implementation to use.
export JAVA_HOME=${JAVA_HOME}
2.2配置全局核心参数
此配置文件位于/usr/local/apps/hadoop-2.7.3/etc/hadoop/core-site.xml。是Hadoop的核心配置文件,主要用于定义Hadoop集群的全局参数,直接影响HDFS、MapReduce和YARN等组件的运行机制。其核心作用如下:
1.基础文件系统配置
默认文件系统URI:通过fs.defaultFS指定HDFS的访问地址(如hdfs://namenode-host:9000),集群内所有节点和客户端均依赖此配置与NameNode通信。
临时目录:hadoop.tmp.dir定义临时文件存储路径(如/tmp/hadoop-${user.name}),该目录被HDFS、YARN等组件共用。
2.I/O与网络优化
缓冲区大小:io.file.buffer.size控制读写操作的缓冲区容量(默认4KB,建议调整为128KB以上以提升性能)。
压缩编解码器:io.compression.codecs指定支持的压缩算法(如org.apache.hadoop.io.compress.GzipCodec)。
3.安全与权限管理
认证方式:hadoop.security.authentication设置安全认证模式(如kerberos或simple)。
代理用户:通过hadoop.proxyuser.配置允许代理访问的主机和用户组(如hadoop.proxyuser.hadoop.hosts=)。
4.其他关键参数
垃圾回收:fs.trash.interval定义删除文件的保留时间(分钟),避免误删。
本地库支持:io.native.lib.available启用本地库加速压缩/解压操作。
本次单节点,用vi检查只要配置如下关键点即可
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-server-00:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/apps/hadoop-2.7.3/tmp/</value>
</property>
</configuration>
2.3配置分布式文件系统
此配置文件位于/usr/local/apps/hadoop-2.7.3/etc/hadoop/hdfs-site.xml。是Hadoop分布式文件系统(HDFS)的核心配置文件,用于定制HDFS的运行时参数,覆盖默认配置以满足集群需求。其核心作用如下:
1.数据存储与副本管理
副本数量:
通过dfs.replication设置文件块的副本数(默认3),确保数据冗余和容错能力。
块大小:
dfs.blocksize定义文件块大小(如128MB),影响MapReduce任务的分片策略和NameNode内存消耗。
2.NameNode与DataNode配置
元数据存储路径:
dfs.namenode.name.dir指定NameNode元数据(如文件系统镜像)的存储目录。
数据存储路径:
dfs.datanode.data.dir配置DataNode存储实际数据的本地路径(支持多目录以提升I/O性能)。
高可用(HA):
dfs.nameservices定义名称服务标识。dfs.ha.namenodes列出HA集群中的NameNode节点。
dfs.namenode.shared.edits.dir设置共享编辑日志的JournalNode地址。
3.网络与访问控制
RPC/HTTP地址:
dfs.namenode.rpc-address设置NameNode的RPC通信端口(默认9000)。
dfs.namenode.http-address配置WebUI访问地址(如0.0.0.0:9870)。
短路本地读取:
dfs.client.read.shortcircuit启用本地数据块直接读取,减少网络开销。
4.安全与故障处理
故障转移:
dfs.ha.automatic-failover.enabled启用自动故障转移功能。
防脑裂机制:
dfs.ha.fencing.methods配置隔离方法(如sshfence)防止多NameNode同时活跃。
本次单节点,用vi检查只要配置如下关键点即可
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
2.4配置MapReduce框架
此配置文件位于/usr/local/apps/hadoop-2.7.3/etc/hadoop/mapred-site.xml。可以通过mapred-site.template复制而来,或者vi直接创建。是Hadoop中专门用于配置MapReduce框架的核心文件,主要定义作业调度、资源分配、任务执行等关键参数,直接影响MapReduce任务的性能和稳定性。其核心作用如下:
1.框架运行模式
指定计算框架:
通过mapreduce.framework.name设置MapReduce的运行模式(如yarn或local),决定任务由YARN管理还是本地执行。
类路径配置:
mapreduce.application.classpath定义任务依赖的库路径,确保分布式环境下任务能访问所需资源。
2.任务调度与资源分配
内存管理:
mapreduce.map.memory.mb和mapreduce.reduce.memory.mb分别设置Map/Reduce任务的堆内存上限,需与YARN的容器资源限制匹配。
mapreduce.map.java.opts可细化JVM参数(如-Xmx)优化内存使用。
CPU资源:
mapreduce.map.cpu.vcores控制任务占用的虚拟CPU核数。
3.性能优化参数
排序与溢写:
mapreduce.task.io.sort.mb调整排序缓冲区大小(默认100MB),影响磁盘I/O频率。
mapreduce.map.sort.spill.percent设置溢写阈值(默认80%)。
并行度控制:
mapreduce.job.reduces指定Reduce任务数量,默认基于输入数据分片自动计算。
4.日志与容错
日志聚合:
yarn.log-aggregation-enable启用日志聚合功能,便于调试。
任务重试:
mapreduce.map.maxattempts定义Map任务失败后的最大重试次数。
本次单节点,用vi检查只要配置如下关键点即可
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.5配置YARN框架
此配置文件位于/usr/local/apps/hadoop-2.7.3/etc/hadoop/yarn-site.xml。由于我们在MapReduce框架配置中定义了运算任务由YARN(YetAnotherResourceNegotiator)来管理,因此需要进一步配置yarn-site.xml,主要用于定义YARN集群的资源管理、任务调度、节点通信等关键参数。其核心作用如下:
1.资源管理配置
ResourceManager地址:
通过yarn.resourcemanager.hostname指定ResourceManager的主机名,yarn.resourcemanager.address设置其RPC通信端口(默认8032),客户端通过该地址提交应用程序。
NodeManager资源限制:
yarn.nodemanager.resource.memory-mb定义单个节点可用的物理内存总量(如8192MB)。yarn.nodemanager.resource.cpu-vcores设置虚拟CPU核数(默认8)。
2.任务调度与容器配置
容器资源范围:
yarn.scheduler.minimum-allocation-mb和yarn.scheduler.maximum-allocation-mb分别指定容器可申请的最小/最大内存(如1024MB和8192MB)。yarn.scheduler.minimum-allocation-vcores限制单个容器的虚拟CPU核数。
调度器选择:
yarn.resourcemanager.scheduler.class配置调度器类型(如CapacityScheduler或FairScheduler)。
3.高可用(HA)与容错
HA配置:
yarn.resourcemanager.ha.enabled启用ResourceManager高可用。
yarn.resourcemanager.ha.rm-ids列出多个RM节点标识(如rm1,rm2)。
故障恢复:
yarn.resourcemanager.recovery.enabled启用RM状态恢复功能。
4.辅助服务与日志
Shuffle服务:
yarn.nodemanager.aux-services必须设置为mapreduce_shuffle以支持MapReduce任务。
日志聚合:
yarn.log-aggregation-enable启用日志聚合功能,便于任务调试。
本次单节点,用vi检查只要配置如下关键点即可
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-server-00</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3、启动运行hadoop
3.1启动hadoop
1、格式化HDFS
进入/usr/local/apps/hadoop-2.7.3/bin目录下,由于已经配置了环境变量$HADOOP_HOME,下面的命令可以在任意路径下运行
hadoop namenode -format
或者
hdfs namenode -format
其目的是初始化NameNode元数据存储目录,会生成fsimage(文件系统镜像)和edits(操作日志)文件,存储HDFS的命名空间和块映射信息。生成全局唯一标识符,确保NameNode和DataNode的元数据一致性。
格式化会清空原有元数据,需提前备份关键数据,即备份元数据目录(如dfs.name.dir配置的路径)。
2、启动NameNode守护进程服务
NameNode进程,负责管理文件系统元数据。
我们使用的是hadoop2.X,启动命令需要进入/usr/local/apps/hadoop-2.7.3/sbin目录下去运行相应的SH脚本
./hadoop-daemon.sh start namenode
关闭是
./hadoop-daemon.sh stop namenode
Hadoop3.X,这个SH脚本方式被废弃了,改用了hdfs命令
hdfs --daemon start namenode
运行完成后,用jps检查当前进程中是否已经运行了namenode
jps
4483 NameNode
4776 Jps
有任何异常,按照提示去查看日志文件的内容,分析出错原因/usr/local/apps/hadoop-2.7.3/logs/hadoop-root-namenode-CentOS.log
权限问题:若以root用户执行,可能导致权限冲突,需切换至Hadoop专用用户(如hadoop)再启动
su hadoop
主机名解析失败:/etc/hosts中未正确映射主机名,按上文3.2检查处理
端口冲突:NameNode默认端口9000是否被占用,检查端口
netstat -tulnp|grep 9000
修改core-site.xml中的fs.defaultFS的端口配置或终止占用进程
3、 启动datanode 守护 进程 服务
DataNode进程,负责存储和管理数据块。
我们使用的是hadoop2.X,启动命令需要进入/usr/local/apps/hadoop-2.7.3/sbin目录下去运行相应的SH脚本
./hadoop-daemon.sh start dataenode
关闭是
./hadoop-daemon.sh stop datanode
Hadoop3.X,这个SH脚本方式被废弃了,改用了hdfs命令
hdfs --daemon start datanode
运行完成后,用jps检查当前进程中是否已经运行了datanode
jps
20887 NameNode
21415 Jps
21231 DataNode
有任何异常,按照提示去查看日志文件的内容,分析出错原因/usr/local/apps/hadoop-2.7.3/logs/hadoop-root-datanode-CentOS.log
端口冲突:datanode默认端口50010是否被占用,检查端口
netstat -tulnp|grep 50010
需修改hdfs-site.xml中的dfs.datanode.address端口配置或终止占用进程
ClusterID不匹配:若DataNode的VERSION文件与NameNode的ClusterID不一致,需手动同步或重新格式化。
4、启动secondarynamenode守护进程服务
SecondaryNameNode进程,负责定期合并NameNode的编辑日志(EditLog)和文件系统镜像(FsImage),生成新的FsImage并回传给NameNode,以减轻NameNode的负担。
我们使用的是hadoop2.X,启动命令需要进入/usr/local/apps/hadoop-2.7.3/sbin目录下去运行相应的SH脚本
./hadoop-daemon.sh start secondarynamenode
关闭是
./hadoop-daemon.sh stop secondarynamenode
Hadoop3.X,这个SH脚本方式被废弃了,改用了hdfs命令
hdfs --daemon start secondarynamenode
运行完成后,用jps检查当前进程中是否已经运行了secondarynamenode
jps
40703 SecondaryNameNode
端口冲突:确认hdfs-site.xml中的dfs.namenode.secondary.http-address或dfs.secondary.http.address配置正确(默认端口为50090)。若默认端口被占用,需修改配置或终止占用进程。
ClusterID不匹配:若SecondaryNameNode的VERSION文件与NameNode的ClusterID不一致,需手动同步或重新格式化。
重复格式化问题:多次格式化可能导致元数据不一致,需清理/tmp和Hadoop数据目录后重新初始化。
5、Hadoop的Web管理界面
如果以上进程服务都正常启动了,就可以访问到Hadoop的Web管理界面了,在宿主机里启动浏览器,输入虚拟机的IP地址和端口号即可访问,如果宿主机配置了hosts,亦可以通过机器名来访问。

Hadoop的Web管理界面(默认端口50070)是监控和管理HDFS集群的重要工具。以下是对该页面各功能的详细解析:
(一)核心功能模块
1、Overview(概览)
-
ClusterID:显示集群唯一标识符
-
Version:Hadoop版本信息
-
Compiled:编译时间和开发者信息
-
ClusterStatus:集群存储使用情况(总容量/已用/剩余)
2、Datanodes(数据节点)
-
显示所有活跃/死亡节点列表
-
每个节点的存储容量、使用率、最后心跳时间
-
节点状态可视化(正常/异常)
3、Snapshot(快照)
-
文件系统快照管理界面
-
创建/删除/查看快照功能
(二)高级功能入口
1、Utilities(工具集)
-
Browsethefilesystem:可视化文件浏览器
-
Logs:查看NameNode日志
-
Configuration:查看当前生效的配置参数
-
Threadstacks:查看线程堆栈信息
2、StartupProgress(启动进度)
-
NameNode启动各阶段耗时分析
-
关键初始化步骤状态监控
(三)运维操作指南
1、文件系统检查
-
通过"BrowseDirectory"可查看所有HDFS文件
-
支持文件权限、副本数、块大小等元数据检查
2、节点管理
-
手动下线节点(Decommission)
-
节点维护模式设置
3、日志分析
-
实时查看NameNode运行日志
-
支持日志级别动态调整
(四)安全配置建议
1、访问控制
-
建议启用Kerberos认证
-
配置防火墙规则限制50070端口访问
2、监控集成
-
可通过JMX接口对接监控系统
-
关键指标:FSImage加载时间、EditLog堆积量
注:该页面是Hadoop2.x的经典界面,在Hadoop3.x中端口可能变更为9870,且界面布局有所调整。生产环境建议通过API(http://hadoop-server-00:50070/jmx)获取更详细的监控数据。
3.2启动yarn
1、YARN的作用
前文已经提及YARN(YetAnotherResourceNegotiator)是Hadoop生态系统的核心资源管理系统,主要作用是为分布式计算框架提供统一的资源管理和调度平台。其核心功能与架构可归纳如下:
(一)核心作用
-
集中管理集群的CPU、内存、磁盘等资源,通过全局视图动态分配资源给不同应用程序。
-
支持多租户环境,通过资源池和队列实现租户间的资源隔离与优先级控制。
-
采用主从架构(ResourceManager+NodeManager),根据调度策略(如FIFO、公平调度)分配资源。
-
支持多种计算框架(如MapReduce、Spark、Flink),实现资源复用与任务并行。
-
通过ZooKeeper实现ResourceManager的HA(高可用),避免单点故障。
-
根据集群负载动态调整资源分配,优化利用率。
(二)关键组件
-
ResourceManager(RM):全局资源调度器,负责接收应用请求并分配Container资源。包含调度器(Scheduler)和应用管理器(ApplicationsManager)。
-
NodeManager(NM):节点代理,监控本地资源并执行RM分配的任务。通过心跳机制向RM汇报资源状态。
-
ApplicationMaster(AM):每个应用独立实例,负责向RM申请资源并管理任务生命周期。任务失败时自动重新申请资源。
-
Container:资源抽象单元,封装CPU、内存等资源供任务使用。
2、启动主节点进程
yarn的主节点进程,负责集群资源分配和任务调度。默认监听8032(RPC端口)和8088(WebUI端口)。
我们使用的是hadoop2.X,启动命令需要进入/usr/local/apps/hadoop-2.7.3/sbin目录下去运行相应的SH脚本
./yarn-daemon.sh start resourcemanager
关闭是
./yarn-daemon.sh stop resourcemanager
Hadoop3.X,这个SH脚本方式被废弃了,改用了yarn命令
yarn --daemon start resourcemanager
运行完成后,用jps检查当前进程中是否已经运行了ResourceManager
jps
3576 ResourceManager
3、启动从节点进程
yarn的从节点进程,负责管理单个节点上的资源容器(Container)。默认向ResourceManager发送心跳(间隔3秒),汇报节点资源状态。
我们使用的是hadoop2.X,启动命令需要进入/usr/local/apps/hadoop-2.7.3/sbin目录下去运行相应的SH脚本
./yarn-daemon.sh start nodemanager
关闭是
./yarn-daemon.sh stop nodemanager
Hadoop3.X,这个SH脚本方式被废弃了,改用了yarn命令
yarn --daemon start nodemanager
运行完成后,用jps检查当前进程中是否已经运行了nodemanager
jps
3842 NodeManager
4、yarn的web管理界面
如果以上yarn的主从进程都正常启动,就可以访问到yarn的Web管理界面了,在宿主机里启动浏览器,输入虚拟机的IP地址和端口号即可访问http://<主机名>:8088,如果宿主机配置了hosts,亦可以通过机器名来访问。

YARN的Web管理界面是监控和管理Hadoop集群资源的核心工具,主要功能模块和特性如下:
(一)核心功能模块
-
实时显示集群资源使用率(内存/CPU),包括已用资源、总资源和保留资源比例
-
节点状态分类统计:活跃节点(ActiveNodes)、退役中节点(Decommissioning)、失联节点(LostNodes)等
-
应用状态追踪:提交(Submitted)、挂起(Pending)、运行中(Running)、已完成(Completed)四类状态统计
-
容器运行监控:显示当前运行的Container数量及资源占用详情
-
调度策略展示:包括FIFO、FairScheduler或CapacityScheduler类型
-
资源分配规则:最小/最大资源分配值(Memory/VCores)
(二)关键数据维度
-
集群资源: MemoryTotal/Used,VCores分配量
-
节点健康状态: UnhealthyNodes,RebootedNodes
-
应用详情: 用户/队列/优先级/运行时长
(三)高级功能
-
日志聚合查看:通过HistoryServer服务查看已完成应用的日志,需配合HDFS日志聚合功能启用
-
节点热力图:可视化展示各节点资源负载情况,支持按内存/CPU维度筛选
-
队列资源配置:可查看和修改队列资源容量、最大资源上限等参数(需管理员权限)
通过该界面,运维人员可以快速定位资源瓶颈、监控应用执行状态,并调整调度策略。具体界面布局和功能可能因Hadoop版本不同存在差异。
3.3运行MapReduce例子
在$HADOOP_HOME/share/hadoop/mapreduce/目录下有个hadoop-mapreduce-examples-2.7.3.jar示例程序,这些示例涵盖了从基本到高级的各种MapReduce应用场景,是学习和测试Hadoop集群功能的绝佳资源。我将在后续课程内做详细讲解。
1、运行一个蒙特卡洛方法估算π值的示例
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 10 100
运行后,我们就可以在yarn的web页面上看到此计算任务的运行情况

点击ID,进入此任务的详细页面,可以看到Map的进展和Reduce的进展

由于蒙特卡洛计算π值的运算量还是很大的,我们现在单节点上运行,是很耗时的,等我们配置好集群后再运行相同的例子,就能看出其优势了。
运行完成后,输出内容节选如下:
[root@hadoop-server-00sbin]#hadoopjar$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jarpi10100
NumberofMaps=10
SamplesperMap=100
WroteinputforMap#0
WroteinputforMap#1
WroteinputforMap#2
WroteinputforMap#3
WroteinputforMap#4
WroteinputforMap#5
WroteinputforMap#6
WroteinputforMap#7
WroteinputforMap#8
WroteinputforMap#9
StartingJob
25/08/1408:19:02INFOclient.RMProxy:ConnectingtoResourceManagerathadoop-server-00/192.168.200.30:8032
25/08/1408:19:04INFOinput.FileInputFormat:Totalinputpathstoprocess:10
25/08/1408:19:04INFOmapreduce.JobSubmitter:numberofsplits:10
25/08/1408:19:05INFOmapreduce.JobSubmitter:Submittingtokensforjob:job_1755130657115_0001
25/08/1408:19:06INFOimpl.YarnClientImpl:Submittedapplicationapplication_1755130657115_0001
Totalcommittedheapusage(bytes)=2006450176
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
ShuffleErrors
BAD_ID=0
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
FileInputFormatCounters
BytesRead=1180
FileOutputFormatCounters
BytesWritten=97
Job Finished in 278.835seconds
Estimated value of Pi is 3.14800000000000000000
本次计算一共分了10个Map,每个Map有100个样本,共计算了278.835秒,计算的结果是3.148
2、计算过程
该程序基于蒙特卡洛模拟方法来估算π值,具体原理如下:
在一个边长为1的正方形内画一个四分之一圆(半径为1)随机向正方形内投掷大量点,统计落在四分之一圆内的点的数量.根据几何概率估算π值.计算公式:π≈4×(落在圆内的点数/总点数)。
MapReduce实现细节
1.Map阶段
每个map任务执行以下操作:
生成指定数量(numSamples)的随机点(x,y),其中x和y都在[0,1]区间内,对每个点检查是否满足x²+y²≤1(即是否在四分之一圆内),统计满足条件的点数。
每个map任务最终输出两个计数器:inside:在圆内的点数,total:生成的总点数。
2.Reduce阶段
Reduce任务汇总所有map任务的结果:累加所有 inside 计数器,累加所有 tota- 计数器,计算最终的π值:π≈4×(总inside数/总total数)。
示例计算过程以 pi 10 100 为例:
10个map任务,每个生成100个随机点
总点数=10×100=1000
假设汇总后落在圆内的点数为785
计算结果:π≈4×(785/1000)=3.14
数学解释
为什么这个方法有效?正方形面积=1×1=1,四分之一圆面积=(π×1²)/4=π/4,点在圆内的概率=(π/4)/1=π/4,因此π=4×(点在圆内的概率)。
样本点越多,结果越精确,由于随机性,每次运行结果可能略有不同,典型结果范围:当样本足够大时,通常在3.14附近波动。
性能特点
完全并行化:每个map任务独立计算,适合分布式处理
无数据依赖:不需要在map任务间传输数据,只有最终统计
计算密集型:主要开销在于随机数生成和条件判断
线性扩展性:增加计算节点可以线性提高精度
这个示例很好地展示了MapReduce的:分布式计算能力,简单的编程模型,适用于数据并行处理的场景。通过这个例子,可以直观理解Hadoop如何将一个大问题分解为许多可以并行处理的小问题,然后汇总结果。
至此,我们单节点的Hadoop服务器就配置并且验证好了,请继续阅读《大数据Hadoop安装部署-3-集群配置》
更多推荐
所有评论(0)