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 ...
随机推荐
- 关于伪分布zookeeper集群启动出错(Error contacting service. It is probably not running.)
今天在配置zookeeper伪分布集群的时候,发现竟然出错了,以前我都是在多台电脑上搭建,大家可以参考我写的Hadoop HA搭建中的zookeeper如何搭建 现在就来说一下为何会出错. 出错的原因 ...
- 算法 - Catalan数 (卡特兰)
http://blog.csdn.net/linhuanmars/article/details/24761459 https://zh.wikipedia.org/wiki/%E5%8D%A1%E5 ...
- IntelliJ IDEA创建spring-boot项目
开发环境: jdk版本:JDK8 maven版本:maven-3.5.2 开发工具:Itellij IDEA 2017.1 前提条件:已安装以上软件并配置好jdk和maven的环境变量 创建步骤: 点 ...
- 【代码笔记】iOS-iOS图片的原生(Graphics)
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- sqlserver年月日转汉字大写--自定义函数--繁体
两个自定义函数结合 函数一: create function convertNumToChinese ()) ) as begin ) ' set @temStr = '壹' ' set @temSt ...
- opencv3.2.0图像对比度与亮度调整
##名称:图像对象度与对比度调整(由轨迹条分别控制对比度和亮度值) ##平台:QT5.7.1+opencv3.2.0 ##时间:2017年12月13日 /***********建立QT控制台程序*** ...
- 手动解除联合的ArcGIS Server
ArcGIS Server可以通过和Portal联合,组建WebGIS系统. 假如已经联合的ArcGIS Server已经无法访问,例如服务器宕机了,或者网络断开了.需要手动解除联合的ArcGIS S ...
- RESTful API的十个最佳实践
WebAPI在过去几年里非常的盛行,我们很多以往的技术手段都慢慢的转换为使用WebAPI来开发,因为它的语法简单规范化,以及轻量级等特点,这种方式收到了广泛的推崇. 通常我们使用RESTFul(Rep ...
- 线程间的通信方式2--管道流Pipes
“管道”是java.io包的一部分.它是Java的特性,而不是Android特有的.一条“管道”为两个线程建立一个单向的通道.生产者负责写数据,消费者负责读取数据. 下面是一个使用管道流进行通信的例子 ...
- LeetCode 题解之Find Peak Element
1.题目描述 2.题目分析 在数组的首尾各加入INT_MIN ,然后遍历数组. 3.代码 int findPeakElement(vector<int>& nums) { ) ; ...