提示:此文章内容超级全面和详细
文章目录
前言
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
一、HDFS完全分布式集群是什么?
HDFS完全分布式集群,指的是在真实环境下,使用多台机器,共同配合,来构建一个完整的分布式文件系统。
在真实环境中,hdfs中的相关守护进程也会分布在不同的机器中,比如:
1. namenode守护进程尽可能的单独部署在一台硬件性能相对来说比较好的机器中。
2. 其他的每台机器上都会部署一个datanode守护进程,一般的硬件环境即可。
3. secondarynamenode守护进程最好不要和namenode在同一台机器上。
如图所示
二、HDFS完全分布式集群搭建与配置
1.HDFS完全分布式集群搭建
思路:
- 准备3台虚拟机(静态IP,IP映射,主机名称,防火墙关闭,普通用户创建等等)
- 安装JDK,配置环境变量
- 安装Hadoop,配置环境变量
- Hadoop执行本地wordcount案例
首先我们在第一节如何搭建可正常使用的centOS7系统虚拟机节点中,已经将bigdata100虚拟机大部分都已经安装配置好了,接下来的任务就是对这个bigdata100虚拟机进行克隆,将其作为母机或者叫模板机,目的是为了后面搭建分布式集群
首先,需要关闭bigdata100虚拟机,然后右键选择克隆
根据当前状态或者克隆前的快照进行克隆操作
或者
如果我们选择完整克隆,那么就类似计算机上的文档复制粘贴成一个副本文档,内容大小一模一样,这样子的好处是可以完完全全的保存原本的内容,而且副本和原件相互独立互不影响,删除副本或者原件对于另外一个文件没有任何影响;但是不好的地方是,如果文件比较大,那么完整克隆出来的副本就会比较占用空间,我们这里是虚拟机,占用空间比较大,如果多完整克隆几个副本,那么对于磁盘的空间占用比较厉害
所以我们选择第一种,链接克隆,这种方式最大的好处是非常节省空间,一个虚拟机的链接克隆可能也就上百兆即可,但是不太好的地方是,链接克隆需要依赖原件,所以我们的母机/模板机务必不能删除,也最好不要移动,如果是完整克隆就没有影响,其实很类似电脑上的快捷方式
稍等片刻,链接克隆就搞定了
然后启动bigdata102,启动后我们使用root账户登录
虽然bigdata102可以正常联网,但是它的ip却是bigdata100的ip地址,这肯定不行,所以我们接下来要去修改bigdata102的ip
接着我们还要修改主机名以及映射文件
从bigdata100 改成 bigdata102
接着修改映射文件
加一行
最后我们使用reboot命令重启一下
发现主机名已经从bigdata100 变成了bigdata102,并且ip地址也改过来了,并且还可以正常联网
最后关机,对bigdata102克隆机做一个快照。
最后微调一下Windows的hosts文件
之后我们就可以测试使用xshell去连接bigdata102
接下来就需要完成bigdata103和bigdata104的克隆,克隆完成后,一定要记得关机快照!!
完成集群的克隆之后,我们需要在bigdata102上安装jdk
使用普通用户cris登录bigdata102