• MooseFS安装部署


    一、安装

    操作系统版本:centos7.3
    节点部署情况

    主机 角色 数据磁盘
    Hadoop1 master
    Hadoop2 matelogger、chunkserver /dev/sdb,/dev/sdc
    hadoop3 client

    安装方式一:yum安装
    1、add key

    # curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
    

    2、添加数据仓库

    # curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
    

    3、安装master等相关服务

    # yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
    

    4、安装chunk servers

    # yum install moosefs-chunkserver
    

    5、安装metalogger服务

    # yum install moosefs-metalogger
    

    6、安装client

    # yum install moosefs-client
    

    安装方式2:tar安装
    下载地址:

    http://ppa.moosefs.com/src/moosefs-3.0.115-1.tar.gz

    官网最新的支持版本是3.x,所以最好安装3.x版本
    1、解压
    这里使用普通用户hduser操作

    $ tar zxvf moosefs-3.0.115-1.tar.gz -C /data1/hadoop
    

    2、安装

    • master安装
    $ cd /data1/hadoop/moosefs
    $ ./configure --prefix=/usr/local/mfs --with-default-user=hduser --with-default-group=hduser --disable-mfschunkserver --disable-mfsmount
    安装报如下错误:
    configure: error: zlib development library not found
    $ sudo yum install -y zlib-devel
    然后重新执行上述安装命令
    

    安装完成可以看到哪些依赖被安装

    • matelogger 安装
    $ sudo yum install -y zlib-devel && sudo ./configure --prefix=/usr/local/mfs --with-default-user=hduser --with-default-group=hduser --disable-mfschunkserver --disable-mfsmount && make && make install
    如果metalogger与chunkserver安装在一台机器,那么可以去掉上诉的--disable-mfschunkserver选项
    
    • chunkservers安装
    $ sudo yum install -y zlib-devel && sudo ./configure --prefix=/usr/local/mfs --with-default-user=hduser --with-default-group=hduser --disable-mfsmaster --disable-mfsmount --disable-mfscgi --disable-mfscgiserv && make && make install
    

    出现如下错误:这个错误是在执行make的时候出现的

    解决:

    $ sudo yum install autoconfig automake libtool -y
    $ sudo autoreconf -ivf
    
    • 安装client
    $ sudo yum install -y zlib-devel && sudo ./configure --prefix=/usr/local/mfs --with-default-user=hduser --with-default-group=hduser --disable-mfsmaster --disable-mfschunkserver --disable-mfscgi --disable-mfscgiserv && make && make install
    

    client 需要fuse的支持,所以在客户端需要安装fuse

    $ sudo yum install fuse-devel -y
    

    tar安装方式借鉴:

    https://blog.csdn.net/qin_weilong/article/details/90639635

    安装方式三:源码方式安装3
    GitHub地址

    https://github.com/moosefs/moosefs

    二、配置

    Hadoop1节点操作(master)

    ** 1、配置文件的修改 **

    cd /usr/local/mfs/etc/mfs
    (base) [hduser@hadoop1 mfs]$ sudo cp mfsmaster.cfg.sample mfsmaster.cfg
    (base) [hduser@hadoop1 mfs]$ sudo cp mfsexports.cfg.sample mfsexports.cfg
    
    

    说明:mfsmaster.cfg是master的配置文件,在这里面可以配置向端口,ip,数据存储等这些配置,默认是全部注释的,如果需要修改,可以删除注释进行修改
    mfsexport.cfg是配置客户端访问的权限控制,格式如下:

    # Allow everything but "meta".
    *           /   rw,alldirs,admin,maproot=0:0
    
    # Allow "meta".
    *           .   rw
    
    

    第一列:允许的主机,可以是IP地址,可以是ip网段,可以是ip/子网掩码(位数),可以是ip/子网掩码(netmask)
    第二列:共享的目录
    第三列:权限
    详细信息如下:
    //地址可以指定的几种表现形式:

    • 所有的ip 地址
      n.n.n.n 单个ip 地址
      n.n.n.n/b IP 网络地址/位数掩码
      n.n.n.n/m.m.m.m IP 网络地址/子网掩码
      f.f.f.f-t.t.t.t IP 段

    //目录部分需要注意两点:
    / 标识MooseFS 根;
    . 表示MFSMETA 文件系统

    //权限部分:
    ro 只读模式共享
    rw 读写的方式共享
    alldirs 许挂载任何指定的子目录

    ** 2、启动 **

    $ /usr/local/mfs/sbin/mfsmaster start 如果是第一次启动,使用 /usr/local/mfs/sbin/mfsmaster -a
    启动cgi服务,通过浏览器查看moosefs使用情况
    $ /usr/local/mfs/sbin/mfscgiserv
    

    cgi端口默认是9425

    Hadoop2操作(metalogger、clunkserver)

    ** 1、修改metalogger配置文件 **
    修改配置文件

    $ cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
    ASTER_HOST = mfsmaster 修改成 ASTER_HOST = hadoop1
    

    ** 2、启动服务 **

    /usr/local/mfs/sbin/mfsmetalogger start
    

    ** 3、chunkserver操作 **
    1)创建分区

    [hduser@hadoop2 mfs]$ sudo parted -s /dev/sdb 'mklabel gpt' # 如果磁盘分区不大于2T,可以不使用parted,使用fdisk也可以创建分区
    [hduser@hadoop2 mfs]$ sudo parted -s /dev/sdc 'mklabel gpt'
    [hduser@hadoop2 mfs]$ sudo parted -s /dev/sdb  'mkpart mfschunks1 0% 100%' # 表示创建一个分区,使用所有的容量
    [hduser@hadoop2 mfs]$ sudo parted -s /dev/sdc  'mkpart mfschunks2 0% 100%'
    

    查看分区信息:

    1. 格式化
    [hduser@hadoop2 mfs]$ sudo mkfs.xfs /dev/sdb1 或者 mkfs.xfs -s size = 4k /dev/sdb1
    [hduser@hadoop2 mfs]$ sudo mkfs.xfs /dev/sdc1 或者 mkfs.xfs -s size = 4k /dev/sdbc1
    
    1. 挂载
    [hduser@hadoop2 mfs]$ sudo mkdir /mfschunks1
    [hduser@hadoop2 mfs]$ sudo mkdir /mfschunks2
    [hduser@hadoop2 mfs]$ sudo mount /dev/sdb1 /mfschunks1
    [hduser@hadoop2 mfs]$ sudo mount /dev/sdc1 /mfschunks2
    

    最好写入到fstab

    /dev/sdb1	/mfschunks1	xfs	defaults	0	0
    /dev/sdc1	/mfschunks2	xfs	defaults	0	0
    
    
    1. 修改权限
    [hduser@hadoop2 mfs]$ sudo chown hduser:hduser /mfschunks*
    [hduser@hadoop2 mfs]$ sudo chmod 770 /mfschunks*
    
    
    1. 修改chunkserver配置文件
    [hduser@hadoop2 mfs]$ cp mfshdd.cfg.sample mfshdd.cfg
    [hduser@hadoop2 mfs]$ vim mfshdd.cfg # 文件最后添加如下值
    /mfschunks1
    /mfschunks2
    

    [hduser@hadoop2 mfs]$ cp mfschunkserver.cfg.sample mfschunkserver.cfg
    [hduser@hadoop2 mfs]$ vim mfschunkserver.cfg
    MASTER_HOST = mfsmaster 修改成MASTER_HOST = hadoop1

    6)启动服务

    /usr/local/mfs/sbin/mfschunkserver start
    

    7)web界面查看

    client

    1) 挂载

    [hduser@hadoop3 ~]$ sudo chown -R hduser:hduser /mfsclient
    [hduser@hadoop3 ~]$ mfsmount /mfsclient -H hadoop1
    

    存在的问题
    master存在单点故障,需要配合keepalive配置高可用,当然,商业版(pro)的已经支持多个master了
    本文借鉴:

    https://blog.csdn.net/qin_weilong/article/details/90639635
    https://moosefs.com/support/#documentation

  • 相关阅读:
    声明对象指针,调用构造、析构函数的多种情况
    [C++ STL] 常用算法总结
    [C++ STL] map使用详解
    [C++ STL] set使用详解
    [C++ STL] list使用详解
    [C++ STL] deque使用详解
    Servlet课程0424(一) 通过实现Servlet接口来开发Servlet
    CSS盒子模型
    Spring学习之第一个hello world程序
    Java基础面试题
  • 原文地址:https://www.cnblogs.com/yjt1993/p/13909769.html
Copyright © 2020-2023  润新知