大数据 Hadoop 高可用HA(Journal,ZooKeeper)

      NN1  NN2  DN  ZK  ZKFC  JNN
NODE01    *               *    *
NODE02        *    *   *    *    *
NODE03           *   *         *
NODE04           *   *

1、首先让两个NameNode能互相免密钥,在前一部分中node01已经能免密登陆node02了,所以再让node02免密登陆自己和node01就行

[[email protected] .ssh]# ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
[[email protected] .ssh]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[[email protected] .ssh]# scp id_dsa.pub node01:`pwd`/node02.pub

[[email protected] .ssh]# cat ~/.ssh/node02.pub >> ~/.ssh/authorized_keys

2、修改Hadoop配置文件,hdfs-site.xml

[[email protected] hadoop]# vi hdfs-site.xml
删除
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node02:50090</value>
    </property>

添加
    <property>
        <name>dfs.nameservices</name>  //主节点服务名称
        <value>mycluster</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.mycluster</name>  //namenode ID
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn1</name>  //namenode地址
        <value>node01:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn2</name>
        <value>node02:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn1</name>  //namenode的http服务地址
        <value>node01:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn2</name>
        <value>node02:50070</value>
    </property>

  <property>    <name>dfs.namenode.shared.edits.dir</name>  //JournalNode地址    <value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>  </property>

  <property>    <name>dfs.journalnode.edits.dir</name>    //JournalNode的edits保存路径    <value>/var/ycyz/hadoop/journal</value>  </property>

  <property>    <name>dfs.client.failover.proxy.provider.mycluster</name>  //故障转移的代理模式    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  </property>

  <property>    <name>dfs.ha.fencing.methods</name>  //故障namenode状态隔离    <value>sshfence</value>  </property>  <property>    <name>dfs.ha.fencing.ssh.private-key-files</name>  //私钥路径    <value>/root/.ssh/id_dsa</value>  </property>

3、修改core-site.xml

[[email protected] hadoop]# vi core-site.xml    <property>
      <name>fs.defaultFS</name>
    <value>hdfs://mycluster</value>
  </property>

4、配置zookeeper,在Hadoop配置文件中设置自动故障转移,并配置zookeeper集群地址

[[email protected] hadoop]# vi hdfs-site.xml  <property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>  </property>

[[email protected] hadoop]# vi core-site.xml  <property>    <name>ha.zookeeper.quorum</name>    <value>node02:2181,node03:2181,node04:2181</value>  </property>

5、将hdfs-site.xml和core-site.xml分发给其他所有Hadoop节点

[[email protected] hadoop]# scp hdfs-site.xml  core-site.xml node02:`pwd`

6、安装zookeeper3.4.6,压缩包解压在其他路径下

[[email protected] software]# tar xf zookeeper-3.4.6.tar.gz -C /opt/ycyz/

7、进入zookeeper的conf目录,拷贝zoo_sample.cfg为zoo.cfg 并配置dataDir,集群节点

[[email protected] conf]# cp zoo_sample.cfg zoo.cfg
[[email protected] conf]# vi zoo.cfg
    dataDir=/var/ycyz/zookeeper

    server.1=node02:2888:3888    //集群节点对应的id
    server.2=node03:2888:3888
    server.3=node04:2888:3888

8、将zookeeper安装文件分发到其他zookeeper节点

[[email protected] ycyz]# scp -r zookeeper-3.4.6/ node03:`pwd`

9、每个zookeeper节点都创建dataDir的目录

[[email protected] ycyz]# mkdir -p /var/ycyz/zookeeper

10、告知每个zookeeper节点自己对应的id

[[email protected] ycyz]# echo 1 > /var/ycyz/zookeeper/myid

[[email protected] ~]# echo 2 > /var/ycyz/zookeeper/myid

[[email protected] ~]# echo 3 > /var/ycyz/zookeeper/myid

11、配置zookeeper环境变量,并分发到其他节点

[[email protected] zookeeper-3.4.6]# vi /etc/profile
    export ZOOKEEPER_HOME=/opt/ycyz/zookeeper-3.4.6
    PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
[[email protected] zookeeper-3.4.6]# scp /etc/profile node03:/etc/
[[email protected] zookeeper-3.4.6]# source /etc/profile

12、启动zookeeper集群

与Hadoop集群只需在一个节点上执行启动命令不同必须手动在所有zookeeper节点上执行 zkServer.sh start查看节点状态 zkServer.sh status

13、启动所有JournalNode

hadoop-daemon.sh start journalnode

14、格式化namenode,如果两个namenode均未格式化,则先在其中一个namenode上格式化。

格式化完成后,启动已格式化的namenode,然后将格式化信息同步给未格式化的namenode节点。

[[email protected] ~]# hdfs namenode -format            格式化
[[email protected] ~]# hadoop-daemon.sh start namenode    启动节点

[[email protected] ~]# hdfs namenode -bootstrapStandby    在未格式化节点上同步    

15、在namenode上格式化zkfc

[[email protected] ~]# hdfs zkfc -formatZK

16、启动Hadoop集群,启动前请确认zookeeper集群已启动

[[email protected] ~]# start-dfs.sh

原文地址:https://www.cnblogs.com/mstoms/p/11774148.html

时间: 2024-10-16 06:30:06

大数据 Hadoop 高可用HA(Journal,ZooKeeper)的相关文章

大型技术网站的技术( 高并发、大数据、高可用、分布式....)(一)

面对高并发.大流量.高可用.海量数据.用户分布广泛.网络情况复杂这类网站系统我们如何应对??? 第一阶段   一台服务器不行就上多台服务器    1.应用程序与数据服务分离        将应用程序.数据库.文件等资源放在一台服务器上,面对海量用户的访问只可能是崩崩崩的挂掉. so? 我们知道的是应用服务器.数据库服务器.文件服务器这三块对服务器的要求是不同的,应用服务器就需要大大的CPU来处理复杂的业务逻辑,数据库服务器需要快速磁盘检索      和 数据缓存也就是要大内存,而文件服务器要求的

大数据学习——高可用配置案例

(一).failover故障转移 在完成单点的Flume NG搭建后,下面我们搭建一个高可用的Flume NG集群,架构图如下所示: (1)节点分配 Flume的Agent和Collector分布如下表所示: 名称 Ip地址 Host 角色 Agent1 192.168.200.101 Itcast01 WebServer Collector1 192.168.200.102 Itcast02 AgentMstr1 Collector2 192.168.200.103 Itcast03 Agen

大数据Hadoop需要了解哪些内容?

一.Hadoop环境搭建 1. Hadoop生态环境介绍 2. Hadoop云计算中的位置和关系 3. 国内外Hadoop应用案例介绍 4. Hadoop概念.版本.历史 5. Hadoop核心组成介绍及hdfs.mapreduce体系结构 6. Hadoop独立模式安装和测试 7. Hadoop的集群结构 8. Hadoop伪分布的详细安装步骤 9. 通过命令行和浏览器观察Hadoop 10. Hadoop启动脚本分析 11. Hadoop完全分布式环境搭建 12. Hadoop安全模式.回收

基于 ZooKeeper 搭建 Hadoop 高可用集群

一.高可用简介 二.集群规划 三.前置条件 四.集群配置 五.启动集群 六.查看集群 七.集群的二次启动 一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似,但 HDFS NameNode 对数据存储及其一致性的要求比 YARN ResourceManger 高得多,所以它的实现也更加复杂,故下面先进行讲解: 1.1 高可用整体架构 HDFS 高可用架构如下: 图片引用自:https://www.edure

CLOUD 04:zookeeper,kafka,hadoop高可用

zookeeper 安装 1 禁用防火墙和 selinux2 设置 /etc/hosts ip 主机名对应关系3 安装 openjdk zookeeper 角色,选举leader 集群主节点follower 参与选举的附属节点observer 不参与选举的节点,同步 leader 的命名空间 1 拷贝配置文件/usr/local/zookeeper/conf/zoo_sample.cfg 到/usr/local/zookeeper/conf/zoo.cfg 2 修改配置文件vim /usr/lo

zookeeper简易配置及hadoop高可用安装

zookeeper介绍    是一个分布式服务的协调服务,集群半数以上可用(一般配置为奇数台),            快速选举机制:当集群中leader挂掉,所有小弟会投票选举出新的leader.    快速同步数据:zk将会存储小量用于服务做协调的数据.        标准文件系统用于存储大量数据:而zk存储小量协调数据    标准文件系统文件就是文件,目录就是目录:zk中文件既是目录. 1.zookeeper的安装与启动        解压并配置环境变量    配置./conf/zoo.c

常用组件、kafka集群、hadoop高可用

1.Zookeeper安装搭建Zookeeper集群并查看各服务器的角色停止Leader并查看各服务器的角色 1.1 安装Zookeeper1)编辑/etc/hosts ,所有集群主机可以相互 ping 通(在nn01上面配置,同步到node1,node2,node3)nn01 hadoop]# vim /etc/hosts192.168.1.21 nn01192.168.1.22 node1192.168.1.23 node2192.168.1.24 node3 2)安装 java-1.8.0

王家林的云计算分布式大数据Hadoop征服之旅:HDFS&amp;MapReduce&amp;HBase&amp;Hive&amp;集群管理

一:课程简介: 作为云计算实现规范和实施标准的Hadoop恰逢其时的应运而生,使用Hadoop用户可以在不了解分布式底层细节的情况下开发出分布式程序,从而可以使用众多廉价的计算设备的集群的威力来高速的运算和存储,而且Hadoop的运算和存储是可靠的.高效,的.可伸缩的,能够使用普通的社区服务器出来PB级别的数据,是分布式大数据处理的存储的理想选择. 本课程会助你深入浅出的掌握Hadoop开发(包括HDFS.MapReduce.HBase.Hive等),并且在此基础上掌握Hadoop集群的配置.维

大数据——Hadoop集群坏境CentOS安装

前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMware虚拟机.CentOS 6.8 64 bit 安装流程 因为我的笔记本是Window7操作系统,然后内存配置,只有8G,内存配置太低了,当然为了演示,我会将Hadoop集群中的主节点分配2GB内存,然后剩余的三个节点都是1GB配置. 所有的节点存储我都设置为50GB. 在安装操作系统之前,我们需要