MogileFS是一个开源的分布式文件系统,用于组建分布式文件集群,由LiveJournal旗下DangaInteractive公司开发,Danga团队开发了包括 Memcached、MogileFS、Perlbal等不错的开源项目:(注:Perlbal是一个强大的Perl写的反向代理服务器)。 MogileFS是一个开源的分布式文件系统。主要特性包括:应用层的组件、无单点故障、自动文件复制、具有比RAID更好的可靠性、无需RAID支持等……核心角色如下:
Tracker节点:借助数据库保存各节点文件的元数据信息保存每个域中所有键的存储位置分布,方便检索定位数据位置的同时监控各节点,告诉客户端存储区位置并指挥storage节点复制数据副本,进程名为mogilefsd(7001)。
Database节点:为tracker节点提供数据存取服务。
Storage节点:将指定域中的键转换为其特有的文件名存储在指定的设备文件中,转换后的文件名为值,storage节点自动维护键值的对应关系,storage节点由于使用http进行数据传输,因此依赖于perlbal,storage节点前端可以使用nginx进行反向代理,但需要安装nginx-mogilefs-module-master模块进行名称转换,进程名mogstored(7501),perbal(7500)。
Domain:一个域中的键值是惟一的,一个MogileFS可以有多个域,域可以用来存储不同应用类型的数据的容器。
Host:每一个存储节点称为一个主机,一个主机上可以有多个存储设备(单独的硬盘),每个设备都有ID号,Domain+Fid用来定位文件。
Class:复制最小单位,文件属性管理,定义文件存储在不同设备上份数。
实验系统:CentOS 6.6_x86_64
实验前提:提前准备好编译环境,防火墙和selinux都关闭
实验说明:本实验共有3台主机,IP及角色分配如拓扑
------------------------------------------分割线------------------------------------------
FTP地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:
在 2015年LinuxIDC.com\9月\MogileFS系统安装配置实例
------------------------------------------分割线------------------------------------------
实验拓扑:
一、在19.66上安装MySQL及MogileFS
安装mysql:
tar xf mariadb-10.0.20-linux-x86_64.tar.gz -C /usr/local/ cd /usr/local/ ln -sv mariadb-10.0.20-linux-x86_64 mysql useradd -r mysql mkdir -pv /mydata/data chown -R mysql.mysql /mydata/data/ cd mysql/ chown -R root.mysql . scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ cp support-files/my-large.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on
2.安装YAML:
wget
tar xf YAML-1.15.tar.gz
cd YAML-1.15
perl Makefile.PL
make && make install
3.使用cpan在线安装MogileFS和相关模块:
cpan -----------------------------------> install MogileFS::Server //后面有让输入yes的地方则输入yes并回车即可
4.创建授权用户:
/usr/local/mysql/bin/mysql
------------------------------------------>
USE mysql;
UPDATE user SET Password=PASSWORD(123456) WHERE User='root';
GRANT ALL ON mogilefs.* TO 'moguser'@'192.168.19.%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'root'@'192.168.19.%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
5.初始化数据库:
mogdbsetup --dbhost=192.168.19.66 --dbrootuser=root --dbrootpass=123456 --dbuser=moguser --dbpass=123456 --yes
如果出现如下报错,则重新运行一次该命令,一般数据就可正常导入了:
6.创建Tracker配置文件: