`
Taoo
  • 浏览: 291032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hadoop 2.0.1 HA配置部署

阅读更多
今天折腾HA,那叫一个顺利啊,
我原本准备花一周时间来折腾的,结果今天一天基本搞定,没遇到什么大问题。
要写总结,我也不知道写啥了。
大致流程罗列一下吧。
主要分三步,

第一步,弄清楚HA原理架构,这个参考官方文档,说的很清楚。
http://hadoop.apache.org/docs/r2.0.0-alpha/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailability.html
http://www.cloudera.com/blog/2012/03/high-availability-for-the-hadoop-distributed-file-system-hdfs/
http://yanbohappy.sinaapp.com/?p=50 (中文的,很不错)

第二步,部署好NFS,这个网上也有很多。
http://blog.sina.com.cn/s/blog_542627730100ipi5.html 我主要参考这个,下面是粘贴
引用

  一、Linux 服务器端NFS 服务器的配置
  以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。
  执行如下命令编辑文件/etc/exports:
  # vi /etc/exports
  在该文件里添加如下内容:
  /home/work 192.168.0.*(rw,sync,no_root_squash)
  然后保存退出。
  添加的内容表示:允许ip 地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。
  /home/work 也称为服务器输出共享目录。
  括号内的参数意义描述如下:
  rw:读/写权限,只读权限的参数为ro;
  sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
  no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
  接着执行如下命令,启动端口映射:
  # /etc/rc.d/init.d/portmap start
  最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求:
  # /etc/rc.d/init.d/nfs start
    #exportfs -rv  (这句必须执行)
  用户也可以重新启动Linux 服务器,自动启动NFS 服务。
  在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains 等选项的设置,以及/etc/hosts.deny,/etc/hosts.allow 文件。
  我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。在Linux 服务器上运行如下命令:
  # mount –t nfs 192.168.0.20:/home/work /mnt
  # ls /mnt   命令将Linux 服务器的NFS 输出共享目录挂载到/mnt 目录下,因此,如果NFS 正常工作,应该能够在/mnt 目录看到/home/work 共享目录中的内容。

      在客户机进行上如下操作:

    # mkdir /mnt/nfs //建立Linux 服务器输出共享目录的挂载点;
  # mount –t nfs 192.168.0.20:/home/work /mnt/nfs –o nolock
  # cd /mnt/nfs
  # ls
   在开发过程中,来回输入命令非常烦人,我写了两个简单的脚本来完成nfs的启动,挂载。
  host启动nfs:
  snfs
  #!/bin/bash
  ifconfig eth0 192.168.0.20
  /etc/rc.d/init.d/portmap start
  /etc/rc.d/init.d/nfs start
   目标机挂载nfs:
  mnfs:
  #!/bin/sh
  mount -t nfs 192.168.0.20:/home/work/nfs /mnt/nfs -o nolock
  echo “nfs ok!”

     也可以配置/etc/fstab:

#vi /etc/fstab  
加入以下内容  
192.168 . 0.203 :/home/cqxs3/data  /home/cqxs3/data        nfs      defaults



第三步,配置hadoop HA,基本上一路顺利,按照官方文档弄就行:http://hadoop.apache.org/docs/r2.0.0-alpha/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailability.html
1,保证两个namenode硬件配置相同,或者都能胜任工作吧;
2,保证两个namenode都挂载了nfs同一块区域吧。
3,保证两个namenode可以互相免密码ssh,namenode运行的进程。
4,保证两个NameNode的dfs.namenode.name.dir路径下内容相同;
5,保证dfs.namenode.shared.edits.dir路径下有current/edit_*文件
6,可以启动啦,在namenode上执行start-dfs.sh,可以jps查进程、访问namenode的web、以及看日志确认namenode是否成功启动了。
7,启动datanode (因为我开了security模式,所以datanode要单独在root下启动)
8,启动之后,两个namenode都在standby模式,在namenode上执行hdfs dfs -haadmin failover nn2 nn1 就行啦。
9,没有了,一切静待运行几天。

10,补充下,hadoop 的client也做的ha重试机制,所以client知道去哪里找namenode。
11,再补充一下,两个namenode机器上运行namenode进程的用户(我这里是hdfs)的uid要相同,要不然无法对nfs中的数据拥有相同的权限。



最后,附上我的配置文件


<configuration>

        <!-- NameNode URI of the cluster -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoopii</value>
        </property>

        <property>  
                <name>fs.trash.interval</name>  
                <value>1440</value>  
        </property>  

</configuration>


<configuration>


        <property>
                <name>dfs.federation.nameservices</name>
                <value>hadoopii</value>
        </property>

        <property>
                 <name>dfs.permissions.superusergroup</name>
                 <value>hadoop</value>
        </property>

        <!-- namenode dir -->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/data/NameNode</value>
        </property>

        <!-- datanode dir -->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/data/DataNode</value>
        </property>


        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>

        <property>
                <name>dfs.datanode.max.xcievers</name>
                <value>4096</value>
        </property>


        <!-- datanode dir -->
        <property>
                <name>dfs.checksum.type</name>
                <value>CRC32</value>
        </property>




        <property>
                <name>dfs.ha.namenodes.hadoopii</name>
                <value>nn1,nn2</value>
        </property>



        <property>
                <name>dfs.namenode.rpc-address.hadoopii.nn1</name>
                <value>myhost20:54310</value>
        </property>


        <property>
                <name>dfs.namenode.rpc-address.hadoopii.nn2</name>
                <value>myhost-1:54310</value>
        </property>


        <property>
                <name>dfs.namenode.servicerpc-address.hadoopii.nn1</name>
                <value>myhost20:53310</value>
        </property>

        <property>
                <name>dfs.namenode.servicerpc-address.hadoopii.nn2</name>
                <value>myhost-1:53310</value>
        </property>


        <property>
                <name>dfs.namenode.http-address.hadoopii.nn1</name>
                <value>myhost20:50070</value>
        </property>


        <property>
                <name>dfs.namenode.http-address.hadoopii.nn2</name>
                <value>myhost-1:50070</value>
        </property>

        <property>
                <name>dfs.client.failover.proxy.provider.hadoopii</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>


        <property>
                <name>dfs.namenode.shared.edits.dir</name>
                <value>file:///nfs_myhost0/hdfs/ha-name-dir-shared</value>
        </property>

        <property>
                <name>dfs.ha.fencing.methods</name>
                <value>sshfence</value>
        </property>

        <property>
                <name>dfs.ha.fencing.ssh.private-key-files</name>
                <value>/home/hdfs/.ssh/id_rsa</value>
        </property>

        <property>
                <name>dfs.ha.fencing.ssh.connect-timeout</name>
                <value>5000</value>
        </property>



</configuration>


分享到:
评论
1 楼 齐慧强 2015-07-26  
这个博客关于ha介绍的比较全http://qihuiqiang.com/archives/446

相关推荐

    Hadoop部署和配置Kerberos安全认证

    Hadoop部署和配置Kerberos安全认证全套流程。已经过实测并部署与生产环境。

    HadoopHA集群部署、规划HadoopHA集群教学课件.pptx

    Hadoop HA 集群部署模式 什么是 HA ? HA是High Availability的简写,即高可用,指当前工作中的机器宕机后,会自动处理这个异常,并将工作无缝地转移到其他备用机器上去,以来保证服务的高可用。(简言之,有两台机器...

    Hadoop(HA)高可用配置文件

    详细的 hadoop (HA)高可用配置文件内容,以及注释摘要。四个配置文件详细内容。

    HadoopHA集群配置文件

    Hadoop HA 集群搭建所需要的配置文件:core-site,hdfs-site,mapred-site,yarn-site四个xml文件和一个slaves文件

    HadoopHA集群部署、YARNHA配置、启动与验证教学课件.pptx

    YARN HA 配置、启动与验证;YARN HA 配置、启动与验证;任务一 配置SSH无密钥登录(slave2为主节点);任务二 修改yarn-site.xml配置文件(一);任务二 修改yarn-site.xml配置文件(二);任务二 修改yarn-site.xml配置...

    HadoopHA集群部署、HDFSHA配置、启动与验证教学课件.pptx

    HDFS HA 配置、启动与验证;HDFS HA 配置、启动与验证;任务一 修改core-site.xml配置文件;任务二 修改hdfs-site....任务五 部署完成之后常规启动HDFS HA集群;任务六 验证HDFS HA集群(一);任务六 验证HDFS HA集群(二)

    hadoop2.7.2HA集群安装

    hadoop2.7.2HA集群安装

    9、hadoop高可用HA集群部署及三种方式验证

    9、hadoop高可用HA集群部署及三种方式验证 网址:https://blog.csdn.net/chenwewi520feng/article/details/130344998 本文介绍hadoop HA环境部署。本文分为三部分,即HA集群规划、HA集群部署和HA集群验证 前提依赖:...

    部署全分布模式Hadoop集群 实验报告

    部署全分布模式Hadoop集群 实验报告一、实验目的 1. 熟练掌握 Linux 基本命令。 2. 掌握静态 IP 地址的配置、主机名和域名映射的修改。 3. 掌握 Linux 环境下 Java 的安装、环境变量的配置、Java 基本命令的使用。 ...

    Hadoop高可用配置HA.docx

    Hadoop高可用配置HA.docx

    Hadoop-ha集群搭建

    HadoopHA集群搭建描述及指令,里面有各种注意事项。 集群部署节点角色的规划(3节点) ------------------ server01 namenode resourcemanager zkfc nodemanager datanode zookeeper journal node server02 ...

    Hadoop HA集群配置.docx

    hadoop-HA集群运作机制介绍 所谓HA,即高可用(7*24小时不中断服务),实现高可用最关键的是消除单点故障。hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA.

    hadoopHA配置.txt

    hadoop的ha配置过程,亲自搭建测试过,hdfs和yarn的HA都完美运行,mapreduce提交到集群中也运行成功。

    08-Hadoop-HA.pdf

    Hadoop-HA思维导图,便捷整理思路,实操Hadoop-HA、ResourceManager-HA、Yarn、RS-HA故障转移

    Hadoop2.0分布式HA环境部署

    Hadoop2.0分布式HA环境部署,原理介绍,对比hadoop1.0优化点,支持HA机制,介绍了zookeeper安装,

    Hadoop安装和配置

    Hadoop安装和配置,Hadoop安装和配置,Hadoop安装和配置

    Hadoop HA部署

    Hadoop HA部署流程文件 Hadoop HA部署流程文件 Hadoop HA部署流程文件 Hadoop HA部署流程文件

    HadoopHA集群部署、YARNHA测试Job教学课件.pptx

    YARN HA 测试Job YARN HA 测试Job 序号 任务名称 任务一 准备MapReduce输入文件 任务二 将输入文件上传到HDFS 任务三 运行MapReduce程序测试Job 任务一 准备MapReduce输入文件 在master主节点,使用 root 用户登录,...

    大数据技术之Hadoop-HA.txt

    大数据技术之Hadoop-HA

    Hadoop2.0 HA集群搭建步骤

    所谓HA,即高可用,实现高可用最关键的是消除单点故障,hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA;通过双namenode消除单点故障;通过双namenode协调工作

Global site tag (gtag.js) - Google Analytics