美文网首页我爱编程
Hadoop的namenode做NFS灾备

Hadoop的namenode做NFS灾备

作者: hogface | 来源:发表于2015-04-29 17:14 被阅读0次

                                                                                      天津九安医疗电子--吴伟 

    1.首先选定一台灾备机器作为NFS服务器

    (1)安装如下:

    apt-get install nfs-kernel-server  (NFS服务器,提供nfs服务)

    apt-get install portmap (端口映射服务器,主要是RPC程序号转化为Internet的端口号)

    (2)在/etc/exports文件中 设置需要挂载为nfs服务的目录

    注: /home/hadoop/name  表示挂载的目录

    *表示任意IP,这里大家可以根据需求配置,如10.10.*.*

    (rw,sync,no_subtree_check)这里指挂载目录的相关设置(详细描述见文后备注) ,此处因为要提供给namenode写权限,故应该配置为rw

    (3)重新启动NFS服务(使exports修改生效,当然还有另外的命令 这里就不再多侃了)

    sudo  /etc/init.d/nfs-kernel-server restart  或者 sudo service nfs-kernel-server restart,  另外start,stop,status就不详述了

    至于portmap的相关命令同上

    (4)查看挂载目录是否成功

    showmount -e

    2.  在namenode上安装NFS客服端

    (1)apt-get install nfs-common (NFS客户端,访问nfs)

    (2)挂载NFS目录到本地

    mount      IP:/home/hadoop/name  /home/hadoop/nfs

    挂载命令    NFS服务的IP及路径            本地目录(必须为已存在的目录)

    umount  /home/hadoop/nfs  卸载目录  如果出现device is busy错误  可以另加 -l  参数强制卸载

    3.  配置namenode下hdfs-site.xml文件的dfs.name.dir配置里加上挂载的路径/home/hadoop/nfs

    上传中...

    4.  重启hadoop

    然后去NFS服务器 /home/hadoop/name  目录下查看是否已经有namenode的fsimage等文件

    有则证明配置成功。

    如出现不能访问指定目录(/home/hadoop/nfs)的错误,请检查NFS服务器端文件权限问题是否为只可读(ro)

    备注:有关NFS配置还有不明的请去参考网上其他文章,本文重点不在介绍配置NFS,故不作更多的描述。

    以下是挂载文件的一些配置参数及含义,仅供参考

    ro                      只读访问

    rw                      读写访问

    sync                    所有数据在请求时写入共享

    async                  NFS在写入数据前可以相应请求

    secure                  NFS通过1024以下的安全TCP/IP端口发送

    insecure                NFS通过1024以上的端口发送

    wdelay                  如果多个用户要写入NFS目录,则归组写入(默认)

    no_wdelay              如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

    hide                    在NFS共享目录中不共享其子目录

    no_hide                共享NFS目录的子目录

    subtree_check          如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

    no_subtree_check        和上面相对,不检查父目录权限

    all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

    no_all_squash          保留共享文件的UID和GID(默认)

    root_squash            root用户的所有请求映射成如anonymous用户一样的权限(默认)

    no_root_squas          root用户具有根目录的完全管理访问权限

    anonuid=xxx            指定NFS服务器/etc/passwd文件中匿名用户的UID

    anongid=xxx            指定NFS服务器/etc/passwd文件中匿名用户的GID

    相关文章

      网友评论

        本文标题:Hadoop的namenode做NFS灾备

        本文链接:https://www.haomeiwen.com/subject/evbvfttx.html