Hadoop学习之路(五)Hadoop集群搭建模式和各模式问题
分布式集群的通用问题
当前的HDFS和YARN都是一主多从的分布式架构,主从节点---管理者和工作者
问题:如果主节点或是管理者宕机了。会出现什么问题?
群龙无首,整个集群不可用。所以在一主多从的架构中都会有一个通用的问题:
当集群中的主节点宕机之后,整个集群不可用。这个现象叫做:单点故障。SPOF
单点故障讲述的概念有两点
1、如果说宕机的那个节点是从节点,那么整个集群能够继续运行,并且对外提供正常的服务。
2、如果说宕机的那个节点是主节点,那么整个集群就处于宕机状态。
通用的解决方案:高可用
概念:当正在对外提供服务器的主从节点宕机,那么备用的主节点立马上位对外提供服务。无缝的瞬时切换。
皇帝驾崩,太子继位。
集群的搭建的集中通用模式
1、单机模式
表示所有的分布式系统都是单机的。
2、伪分布式模式(搭建在了只有一个节点的集群中)
表示集群中的所有角色都分配给了一个节点。
表示整个集群被安装在了只有一个节点的集群中的。
主要用于做快速使用,去模拟分布式的效果。
3、分布式模式
表示集群中的节点会被分配成很多种角色,分散在整个集群中。
主要用于学习测试等等一些场景中。
4、高可用模式
表示整个集群中的主节点会有多个
注意区分:能够对外提供服务的主节点还是只有一个。其他的主节点全部处于一个热备的状态。
正在对外提供服务的主节点:active 有且仅有一个
热备的主节点:standby 可以有多个
工作模式:1、在任意时刻,只有一个主节点是active的,active的主节点对外提供服务
2、在任意时刻,都应至少有一个standby的主节点,等待active的宕机来进行接替
架构模式:就是为了解决分布式集群中的通用问题SPOF
不管是分布式架构还是高可用架构,都存在一个问题:主从结构---从节点数量太多了。最直观的的问题:造成主节点的工作压力过载,主节点会宕机,当前的这种现象是一种死循环
5、联邦模式
表示当前集群中的主从节点都可以有很多个。
1)主节点:可以有很多个的意思是说:同时对外提供服务的主节点有很多个。
重点:每一个主节点都是用来管理整个集群中的一部分
2)从节点:一定会有很多个。
在联邦模式下还是会有问题:
虽然这个集群中的一个主节点的压力被分摊到了多个主节点。但是这个多个主节点依然会有一个问题:SOFP
安装Hadoop集群中的一些通用问题
1、假如安装不成功,并且不知道应该怎么去解决这个安装错误:重装
需要做的处理:处理安装步骤中不同的部分即可。第一次安装和重装时候的不同步骤:
1)到修改配置文件以前,全部都不用动
2)检查配置文件是否都正确
先检查一个节点上的配置文件是否都正确,如果都正确,重新分发一次即可
3)在安装分布式集群时,所有节点中的安装的安装目录和安装者,需要检查和确定
4)删掉数据目录
A. 删除主节点的工作目录:namenode的数据目录
删除即可,只需要在主节点删除即可
B. 删除从节点的工作目录:datanode的数据目录
删除即可,把每个从节点上的这个对应数据目录都删掉
如果以上两份数据都被删除了之后。整个集群当中就相当于没有存储任何的历史数据。所以就是一个全新的集群
5)在确保数据正常和安装包都正常之后,进行重新初始化
重点强调: hadoop集群的初始化,其实就是初始化HDFS集群, 只能在主节点进行初始化
如果你只需要搭建YARN集群,那么是可以不用做初始化的。
6)启动集群
7)验证集群是否成功
Linux环境变量加载的顺序
用户环境变量 :仅仅只是当前用户使用 ~/.bashrc ~/.bash_profile
系统环境变量 :给当前系统中的所有用户使用 /etc/profile
任何普通用户在进行登录的时候:会同时加载几个环境变量的配置文件:
按顺序:
1、/etc/profile
2、~/.bash_profile
3、~/.bashrc
Hadoop学习之路(五)Hadoop集群搭建模式和各模式问题的更多相关文章
- Hadoop学习记录(5)|集群搭建|节点动态添加删除
集群概念 计算机集群是一种计算机系统,通过一组松散继承的计算机软件或硬件连接连接起来高度紧密地协作完成计算工作. 集群系统中的单个计算机通常称为节点,通过局域网连接. 集群特点: 1.效率高,通过多态 ...
- linux系统——Redis集群搭建(主从+哨兵模式)
趁着这几天刚好有点空,就来写一下redis的集群搭建,我跟大家先说明,本文的redis集群因为linux服务器只是阿里云一台服务器,所以集群是redis启动不同端口,但是也能达到集群的要求.其实不同服 ...
- 基于Hadoop 2.2.0的高可用性集群搭建步骤(64位)
内容概要: CentSO_64bit集群搭建, hadoop2.2(64位)编译,安装,配置以及测试步骤 新版亮点: 基于yarn计算框架和高可用性DFS的第一个稳定版本. 注1:官网只提供32位re ...
- 【kafka学习之二】Kafka集群搭建
安装环境 jdk1.7 zookeeper-3.4.5(参考 https://www.cnblogs.com/cac2020/p/9426531.html) VM虚拟机redhat6.5-x64 ...
- 【整理学习Hadoop】Hadoop学习基础之一:服务器集群技术
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任 ...
- 布式实时日志系统(三) 环境搭建之centos 6.4下hadoop 2.5.2完全分布式集群搭建最全资料
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- spark学习7(spark2.0集群搭建)
第一步:安装spark 将官网下载好的spark-2.0.0-bin-hadoop2.6.tgz上传到/usr/spark目录下.这里需注意的是spark和hadoop有对应版本关系 [root@sp ...
- Redis集群(五):集群搭建
一.本文目的 演示在一台机器上搭建3主3从的redis集群,通过演示了解redis集群的搭建,使用和注意事项 二.搭建说明 1.同一台机器搭建3主3从的伪集群 ...
- spark学习4(zookeeper3.4集群搭建)
第一步:zookeeper安装 通过WinSCP软件将zookeeper-3.4.8.tar.gz软件传送到/usr/zookeeper/目录下 [root@spark1 zookeeper]# ch ...
- DOCKER 学习笔记8 Docker Swarm 集群搭建
前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...
随机推荐
- Django(三):HttpRequest和HttpResponse
当一个请求连接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的视图函数.每个请求的视图函数都会返回一个HttpResponse. H ...
- Angular 框架介绍
库和框架的区别 jQuery:库 库一般都是封装了一些常用的方法 自己手动去调用这些方法,来完成我们的功能code $('#txt').val('我是小明'); $('div').text('xx') ...
- new DialogInterface.OnClickListener()报错的解决办法
在项目过程中 new DialogInterface.OnClickListener()总是报下面的错 Illegal qualified access from the type parameter ...
- css清除浮动之天龙8步
1.父级div定义height. 2.结尾处加空div标签clear:both. 3.父级div定义伪类:after和zoom. 4.父级div定义overflow:hidden. 5.父级div定义 ...
- PM、oSE、oMDE、oTSE、oTC角色职责
- Android Authenticator使用(转)
出处:http://blog.udinic.com/2013/04/24/write-your-own-android-authenticator/ 这篇文章个人觉得讲的非常好,比官方文档还要清晰,将 ...
- react的基本概念
数据流向 数据的改变发生通常是通过用户交互行为或者浏览器行为(如路由跳转等)触发的,当此类行为会改变数据的时候可以通过 dispatch 发起一个 action,如果是同步行为会直接通过 Reduce ...
- MySQL上机实习报告(一)
一.实习内容 利用wamp进行MySQL上机实习,建立数据库和一个学生信息表,并能对建的表进行数据插入.修改.查询和删除等内容. 二.实习目的 能将课堂上所学的内容运用到实际的上机操作中,进一步 ...
- 模板与STL学习简单的笔记
一.如何进行泛型编程 C/C++是一种静态编程语言,必须需要把代码翻译成可执行的二进制可执行程序然后再运行,一旦编译好之后就不能再变了(数据类型也就必须确定下无法更改,因此要为每一种数据类型编写一份算 ...
- 进程间协作---wait,notify,notifyAll
转自牛客网的一篇评论,解释的十分详细 在 Java 中,可以通过配合调用 Object 对象的 wait() 方法和 notify()方法或 notifyAll() 方法来实现线程间的通信.在线程中调 ...