热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用QJM部署HDFSHA集群

一、所需软件1.JDK版本下载地址:http:www.oracle.comtechnetworkjavajavaseindex.html版本:jdk-7

一、所需软件

  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后界面如下:

    

    

 


推荐阅读
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • 本视频教程将带你快速了解 Android 开发的基础知识,并详细讲解如何在 Android 应用中使用 SQLite 数据库进行数据存储和管理。 ... [详细]
author-avatar
Dfsk刘海_368
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有