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

posted @ 2020-11-01 18:23  北漂-boy  阅读(544)  评论(0编辑  收藏  举报