Hadoop2.7.0 集群安装部署
Hadoop2.7.0 体系结构
Hadoop2 的HDFS中的NameNode 不再是一个了,可以有多个(目前只支持2个),每个都有相同的职能,这两个NameNode 的地位如何:
一个是Active状态的, 一个是Standby状态的。当集群运行时,只有Active状态的NameNode是正常工作的,Standby状态的NameNode是处于待命状态。时刻同步Active状态的NameNode的数据, 一旦Active状态的NameNode不能工作,通过手工或者自动切换,Standby状态的NameNode就可以转变为Active状态的, 就可以继续工作了,这就是高可靠性。
当NameNode发生故障时,他们的数据是如何保持一致的:在这里,2个NameNode的数据其实是实时共享的,新HDFS采用了一种共享机制,JournalNode 集群或者NFS进行共享,NFS是操作系统层面的,JournalNode是Hadoop层面的, 我们这里使用JournalNode集群进行数据共享。
如何实现NameNode的自动切换:这就需要使用Zookeeper集群进行选择。HDFS集群中的两个NameNode都在Zookeeper中注册,当Active状态的NameNode出故障时,Zookeeper能检测到这种情况,它就会自动把standby状态的NameNode切换为active状态。
HDFS Federation(HDFS联盟):联盟的出现是有原因的,我们知道NameNode是核心节点, 维护着整个HDFS的元数据信息,那么其容量是有限的,受制于服务器的内存空间,当NameNode服务器的内存装不下数据后,那么HDFS集群就装不下数据了,寿命也就到头了,因此其扩展性是受限的,HDFS联盟指的是多个HDFS集群同时工作,那么其容量理论上就不受限制了,夸张点说就是无限扩展,你可以理解成,一个总集群中,可以虚拟出两个或两个以上的单独的小集群, 各个小集群之间的数据是实时共享的,因为hadoop集群已经不再单独存在NameNode和DataNode的概念,当一个其中的小集群出故障,可以启动另一个小集群中的Namemode节点,继续工作,因为数据是实时共享,及时NameNode和DataNode一起死掉,也不会影响整个集群的正常工作。
集群节点及任务安排
这点很重要,我们事先一定要先理解,节点之间任务是如何安排的。如果事先不理解为什么是这样,后面还会遇到更多的问题。这就需要,理解journalnode、zookeeper、datanode、namenode之间关系。
10.17.110.11 | 10.17.110.16
| 10.17.110.20
| 10.17.110.25
| 10.17.110.36 | |
NameNode | ✔ | ✔ | |||
DataNode | ✔ | ✔ | ✔ | ✔ | |
JournalNode | ✔ | ✔ | ✔ | ✔ | ✔ |
Zookeeper | ✔ | ✔ | ✔ |
JournalNode和Zookeeper保持奇数点, 这点大家要有个概念, 最少不少于3个节点。
两个namenode上面已经说明,其实在hadoop2中几点之间namenode和datanode之间的划分已经不是那么明确了。这里只采用后4台机器作为DataNode,这里也存在一个问题:如果把datanode和namenode放在一起, 对数据的读取IO的效率肯定会有一定的影响, 不同机器之间还是要通过网线和http请求完成数据之间的共享。
Hadoop 安装部署
下载解压Hadoop -2.7.0
1.1 wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.0/hadoop-2.7.0.tar.gz
1.2 解压到 tar –zxvf hadoop-2.7.0.tar.gz /mnt/software/hadoop-2.7.0
1.3 从10.17.110.32 上向其他节点拷贝安装包
scp -P 10022 hadoop-2.7.0.tar.gz root@10.17.110.11:/mnt/software
scp -P 10022 hadoop-2.7.0.tar.gz root@10.17.110.11:/mnt/software
scp -P 10022 hadoop-2.7.0.tar.gz root@10.17.110.16:/mnt/software
scp -P 10022 hadoop-2.7.0.tar.gz root@10.17.110.20:/mnt/software
scp -P 10022 hadoop-2.7.0.tar.gz root@10.17.110.25:/mnt/software
scp -P 10022 hadoop-2.7.0.tar.gz root@10.17.110.36:/mnt/software
感谢关注!!!