先谈完全分布式架构
重点我们看看如何着手搭建一个分布式集群。在Hadoop初窥里面我提过一嘴(多搞几台机器 修改DataNode个数 配置slave(指定DataNode)文件 配置hosts文件 ssh OK OK不? 反正我不想打字写分布式配置了。)别看我说的倒是轻松,理清了思路,按着路子搭其实的确也轻松。后面我会用Cloudera Manager在我屋三台服务器上搭建一个企业级🙄的集群。那个可比手动搭建舒服太多了。具体细节我后面也会做个介绍。
😇😇😇
Federation联盟
NameNode
能不能有多个NameNode
NameNode NameNode NameNode
元数据 元数据 元数据
log machine 电商数据/话单数据
三个模块把数据存在所有的DataNodes节点上,于是出现了下面的架构,提供解决方案。
集中式缓存管理
分布式拷贝
拷贝命令:
hadoop distcp -i hftp://sourceFS:50070/src hdfs://destFS:8020/dest
Yarn的HA
详细配置 都是官网上的东西
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>master2</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>master1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>master2:8088</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>zk1:2181,zk2:2181,zk3:2181</value>
</property>
命令详见官网 点我
$ yarn rmadmin -getServiceState rm1
active
$ yarn rmadmin -getServiceState rm2
standby
$ yarn rmadmin -transitionToStandby rm1
Automatic failover is enabled for org.apache.hadoop.yarn.client.RMHAServiceTarget@1d8299fd
Refusing to manually manage HA state, since it may cause
a split-brain scenario or other incorrect state.
If you are very sure you know what you are doing, please
specify the forcemanual flag.
总结
HA这一块,你要是照着官方文档配置其实还是挺简单的,一年前的我直接跳过了HA,只知道是高可用。想想还是太年轻了。在应用这一块,配置好能放到生产环境基本上就可以了吧!到此呢Hadoop的四个核心模块的内容就告一段落了,花了四天时间边学边练。从早做到晚的学习我尽然不困😪。可能这就是知识的力量吧!又看书又看视频还看官方文档,尽然不脱发?少年你渴望力量吗?👷下面的就是Hive的温习了,Hive不论对谁来说应该都比MR简单吧,我应该能很快的过过去,加紧时间学习!后面还有一大片呢!