使用QJM部署HDFS HA集群

一、所需软件

  1. JDK版本

    下载地址:http://www.oracle.com/technetwork/java/javase/index.html

    版本: jdk-7u79-linux-x64.gz

  2. Hadoop软件

    下载地址:http://hadoop.apache.org/releases.html

    版本: hadoop-2.6.0.tar.gz

二、配置ssh免密码登陆:

  查阅之前博客:http://www.cnblogs.com/yinchengzhe/p/4967928.html

三、环境说明

  主备NameNode有多种配置,本文采用QJM(Quorum Journal Manager) ,主备NameNode应位于不同机器上

  集群中包括4个节点:1个Master,3个Salve,节点之间局域网连接,可以相互ping通。

  本人有3台云主机,主机名分别为h1,h2,h3。由于资源紧缺,master和其中一个salve共用h1主机。

  搭建手动切换ha集群,较自动切换少了一个zookeeper集群。

  主机分布情况如下:

  h1:  master  namenode(主)  journalnode   datanode

  h2:  salve   namenode(备)  journalnode   datanode

  h3:  salve          journalnode   datanode

四、HDFS HA (QJM)集群安装

  参考官网site:http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

  1. 在h1上解压hadoop-2.6.0.tar.gz并重命名为hadoop

    > tar zxvf hadoop-2.6.0.tar.gz

    > mv hadoop-2.6.0 hadoop

  2. 配置hadoop-env.sh

    配置jdk路径,如: export JAVA_HOME=/root/software/jdk1.7.0_79

  3. 配置core-site.xml

    修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号

    > cd /hadoop/etc/hadoop

    > vim core-site.xml

    配置如下:

    

    注:此处h1为本机的hostname

  4. 配置slaves

    此配置为master主机特有,配置此文件有两种方式

    第一种:去掉"localhost",每行只添加一个主机名,把所有的Slave主机名都填上。

      如:h1

        h2

        h3

    第二种: 去掉"localhost",加入集群中所有Slave机器的IP,也是每行一个。

      如:192.168.1.1

        192.168.1.2

        192.168.1.3

  5. 配置hdfs-site.xml

    如下所示:

    

    (1). dfs.nameservices

      集群中命名服务列表(自定义)

    (2). dfs.ha.namenodes.[nameservice ID]

      命名服务中的namenode逻辑名称(自定义)

    (3). dfs.namenode.rpc-address.[nameservice ID].[name node ID]

      命名服务中逻辑名称对应的RPC地址

    (4). dfs.namenode.http-address.[nameservice ID].[name node ID]

      命名服务中逻辑名称对应的HTTP地址

    (5). dfs.namenode.name.dir

      NameNode fsiamge存放目录

    (6). dfs.namenode.shared.edits.dir

      主备NameNode同步元信息的共享存储系统

    (7). dfs.journalnode.edits.dir

      Journal Node数据存放目录

  6. 将h1上的hadoop文件夹复制到h2、h3节点上

  7. 启动关闭HDFS

    步骤1:在各个JournalNode节点上,输入以下命令启动journalnode服务:

        > sbin/hadoop-daemon.sh start journalnode
    
步骤2:在[nn1]上,对其进行格式化,并启动:
        > bin/hdfs namenode -format
        > sbin/hadoop-daemon.sh start namenode
    
步骤3:在[nn2]上,同步nn1的元数据信息:
        > bin/hdfs namenode -bootstrapStandby
    
步骤4:在[nn2],启动NameNode:
        > sbin/hadoop-daemon.sh start namenode
    
(经过以上四步操作,nn1和nn2均处理standby状态)
    
步骤5:在[nn1]上,将NameNode切换为Active
        > bin/hdfs haadmin -transitionToActive nn1
    
步骤6:在[nn1]上,启动所有datanode
        > sbin/hadoop-daemons.sh start datanode

    启动成功可通过jps命令查看结果,如下所示:

    

    

    

    

    关闭:

    在[nn1]上输入命令 sbin/stop-dfs.sh

  8. HDFS WEB界面浏览

    Windows访问Linux方式参照 http://www.cnblogs.com/yinchengzhe/p/5012936.html

    启动hdfs后界面如下:

    

    

时间: 2024-12-25 22:32:35

使用QJM部署HDFS HA集群的相关文章

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个须要极度耐心和体力的仔细工作. 虽然有非常多文档教会大家怎么一步一步去完毕这样的工作,可是百密也有一疏. 现成的工具不是没有,可是对于我这个喜欢了解细节的人来说,用别人的东西,写的好还能够,写的不好,出了问题,查找错误难之又难.手工安装Hadoop集群须要对Linux有一定的使用经验.对于全然没有接触Linux的人来说.肯定是

Hadoop HA集群的搭建

HA 集群搭建的难度主要在于配置文件的编写, 心细,心细,心细! ha模式下,secondary namenode节点不存在... 集群部署节点角色的规划(7节点)------------------server01 namenode zkfcserver02 namenode zkfcserver03 resourcemanagerserver04 resourcemanagerserver05 datanode nodemanager zookeeper journal nodeserver

Hadoop-2.8.5的HA集群搭建

一.Hadoop HA 机制的学习 1.1.Hadoop 2.X 的架构图 2.x版本中,HDFS架构解决了单点故障问题,即引入双NameNode架构,同时借助共享存储系统来进行元数据的同步,共享存储系统类型一般有几类,如:Shared NAS+NFS.BookKeeper.BackupNode 和 Quorum Journal Manager(QJM),上图中用的是QJM作为共享存储组件,通过搭建奇数结点的JournalNode实现主备NameNode元数据操作信息同步. 1.2.QJM原理

架构之高可用性(HA)集群(Keepalived)

Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭义的来讲就是之主机的冗余和接管, 它与HeartBeat RoseHA 实现相同类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专业的.功能完善的高可用软件,它提供了HA 软件所需的基本功能,比如:心跳检测.资源接管,检测集群中的服务,在集群节点转移共享IP地址的所

HA集群之DRBD浅析及实现DRBD高可用

一.DRBD概述 DRBD (Distributed Replicated Block Device) 是 Linux 平台上的分散式储存系统. 由内核模组.用户空间工具组成,通常用于高可用性(high availability, HA)集群.其实现方式是通过网络在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像.你可以把它看作是一种网络RAID1. DRBD的工作模式如下图: DRBD工作的位置在文件系统的buffer cache和磁盘调度器之间,数据进入Buffer Cache后,DRB

corosync+pacemaker实现高可用(HA)集群

corosync+pacemaker实现高可用(HA)集群(一) ????重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与主机(又称节点)的关系: 资源包括vip,httpd,filesystem等: 可整合多个资源形成一个服务: 服务必运行在某个主机上,主机上也可不运行服务(此为空闲主机): 服务里的所有资源应该同时运行在同一个节点上,实现方式有2种: 资源组: 排列约束 资源类型 primitive(或native

【2016.04.04】HA集群配置

1.HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性.它与被认为是不间断操作的容错技术有所不同.HA系统是目前企业防止核心计算机系统因故障停机的最有效手段.常使用"heartbeat"开源软件实现HA集群部署. 2.HA架构示意图 3.实验环境 [[email protected] ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:2

将java开发的wordcount程序部署到spark集群上运行

1 package cn.spark.study.core; 2 3 import java.util.Arrays; 4 5 import org.apache.spark.SparkConf; 6 import org.apache.spark.api.java.JavaPairRDD; 7 import org.apache.spark.api.java.JavaRDD; 8 import org.apache.spark.api.java.JavaSparkContext; 9 impo

部署Hadoop高性能集群

部署Hadoop高性能集群 服务器概述 1)Hadoop是什么 Hadoop是Lucene创始人Doug Cutting,根据Google的相关内容山寨出来的分布式文件系统和对海量数据进行分析计算的基础框架系统,其中包含MapReduce程序,hdfs系统等. Hadoop包括两大核心,分布式存储系统和分布式计算系统. 2)分布式存储 为什么数据需要存储在分布式的系统中哪,难道单一的计算机存储不了吗,难道现在的几个TB的硬盘装不下这些数据吗?事实上,确实装不下.比如,很多的电信通话记彔就存储在很