Hadoop全面讲解(一)Hadoop的单机版分布式/伪分布式/完全分布式模式和集群节点的搭建

本文详细介绍了Hadoop的三种运行模式:单机版、伪分布式和完全分布式。从概念讲解开始,包括Hadoop的分布式文件系统HDFS和MapReduce核心。在单机版模式中,介绍了配置和执行流程;伪分布式模式中,模拟了分布式环境的各个节点;完全分布式模式则展示了在多台服务器上构建Hadoop集群的步骤,包括NFS的使用和集群间共享。文章通过实例演示了Hadoop环境的搭建和验证过程。
摘要由CSDN通过智能技术生成

一、概念讲解

1.Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

  • 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

  • Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

  • Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

2.Hadoop的单机分布式/伪分布式/完全分布式模式的区别

  • 1.单机(非分布式)模式
      这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统,一般仅用于本地MR程序的调试

  • 2.伪分布式运行模式
      这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点: (NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode)
      请注意分布式运行中的这几个结点的区别:
      从分布式存储的角度来说,集群中的结点由一个NameNode和若干个DataNode组成,另有一个SecondaryNameNode作为NameNode的备份。
      从分布式应用的角度来说,集群中的结点由一个JobTracker和若干个TaskTracker组成,JobTracker负责任务的调度,TaskTracker负责并行执行任务。TaskTracker必须运行在DataNode上,这样便于数据的本地计算。JobTracker和NameNode则无须在同一台机器上。一个机器上,既当namenode,又当datanode,或者说 既 是jobtracker,又是tasktracker。没有所谓的在多台机器上进行真正的分布式计算,故称为"伪分布式"。开启多个进程模拟完全分布式,但是并没有真正提高程序执行的效率

  • 3.完全分布式模式
      真正的分布式,由3个及以上的实体机或者虚拟机组件的机群。

二、hadoop单机版模式

1.创建hadoop用户并查看其id

[root@server1 ~]# useradd hadoop
[root@server1 ~]# id hadoop

在这里插入图片描述
2.将hadoop安装包移到/home/hadoop并切换到hadoop用户下查看

[root@server1 ~]# ls
[root@server1 ~]# mv * /home/hadoop
[root@server1 ~]# su - hadoop
[hadoop@server1 ~]$ ls

在这里插入图片描述
3.安装jdk安装包并做链接(为了方便)

[hadoop@server1 ~]$ tar zxf jdk-8u181-linux-x64.tar.gz 
[hadoop@server1 ~]$ ls
[hadoop@server1 ~]$ ln -s jdk1.8.0_181/ java

在这里插入图片描述
4.安装hadoop安装包并做链接(为了方便)

[hadoop@server1 ~]$ tar zxf hadoop-3.0.3.tar.gz 
[hadoop@server1 ~]$ ls
[hadoop@server1 ~]$ ln -s hadoop-3.0.3 hadoop

在这里插入图片描述
5.编辑hadoop中的中心配置文件,更改其环境变量

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ ls
[hadoop@server1 hadoop]$ cd etc/
[hadoop@server1 etc]$ ls
[hadoop@server1 etc]$ cd hadoop/
[hadoop@server1 hadoop]$ vim hadoop-env.sh 

在这里插入图片描述
文件中更改的内容如下:

 54 export JAVA_HOME=/home/hadoop/java

在这里插入图片描述
6.配置java的环境变量,使其可以成功使用java中的命令,例如jps(查看java的进程)

[hadoop@server1 ~]$ vim .bash_profile 
[hadoop@server1 ~]$ source .bash_profile 
[hadoop@server1 ~]$ jps

在这里插入图片描述
配置文件中的内容如下:

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/java/bin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值