zoukankan      html  css  js  c++  java
  • 使用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后界面如下:

        

        

  • 相关阅读:
    Java实现第八届蓝桥杯字母组串
    Java实现第八届蓝桥杯正则问题
    Java实现第八届蓝桥杯方格分割
    Java实现第八届蓝桥杯方格分割
    经典SQL语句大全(绝对的经典)
    SQL脚本
    非常有用的sql脚本
    代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)
    搭建MySQL高可用负载均衡集群
    MySQL——修改root密码的4种方法(以windows为例)
  • 原文地址:https://www.cnblogs.com/yinchengzhe/p/5140117.html
Copyright © 2011-2022 走看看