MogileFS的分布式文件系统的实现

Dependency Installed:

perl-BSD-Resource.x86_64 0:1.29.03-3.el6

perl-Danga-Socket.noarch 0:1.61-5.el6

perl-Sys-Syscall.noarch 0:0.23-1.el6

perl-Time-HiRes.x86_64 4:1.9721-136.el6

perl-Net-Netmask.noarch 0:1.9015-8.el6

Complete!

1.2:在数据库创建用户

mysql> GRANT ALL ON mogilefs.* TO ‘mogile’@’172.16.%.%’ IDENTIFIED BY ‘mogile’;

Query OK, 0 rows affected (0.02 sec)

查看mogilefs的帮助

[root@node3~]#mogdbsetup–helpUsage:mogdbsetup[opts]Options:DefaultDescription=======================================================–verbose<off>Beverboseaboutwhat’shappening.–dbhost=localhosthostnameorIPtodatabaseserver.–dbport=dbddefaultportnumbertodatabaseserver.–dbname=mogilefsdatabasenametocreate/upgrade.–dbrootuser=rootDatabaseadministratorusername.Onlyneededforinitialsetup,notsubsequentupgrades.–dbrootpass=<blank>Databaseadministratorpassword.Onlyneededforinitialsetup,notsubsequentupgrades.–dbuser=mogileRegulardatabaseusertocreateand/oruseforMogileFSdatabase.Thisiswhatthemogilefsdtrackersconnectas.–dbpass=<blank>Youshouldchangethis,especiallyifyourdatabaseserversareaccessibletootherusersonthenetwork.Buttheyshouldn’tbeifyou’rerunningMogileFS,becauseMogileFSassumesyournetworkisclosed.–type=MySQLWhichMogileFS::Storeimplementationtouse.Available:MySQL,Postgres–yesRunwithoutquestions.

db_dsn=DBI:mysql:mogilefs:host=172.16.18.3#如果使用的数据库不是mogilefs,则修改mogilefs为自己定义的数据库db_user=mogilefdb_pass=mogilelisten=172.16.18.3:7001#监听的地址和端口

2.3 尝试启动mogilefs

[root@node3~]#servicemogilefsdstartStartingmogilefsd[FAILED]

无法启动?我们尝试连接数据库看能否连接

[root@node3~]#mysql-uroot-h172.16.18.3-pEnterpassword:ERROR1045(28000):Accessdeniedforuser’root’@’node3.aolens.com'(usingpassword:YES)数据库连接出错,解析用的是主机名。创建下边用户mysql>GRANTALLON*.*TOroot@’node3.aolens.com’IDENTIFIEDBY’aolens’;QueryOK,0rowsaffected(0.06sec)mysql>flushprivileges;QueryOK,0rowsaffected(0.00sec)

启动成功了。

3.1下来我们来配置mogstord

首先来安装需要的程序包

perl-IO-AIO.x86_64 0:3.71-2.el6

MogileFS-Server-2.46-2.el6.noarch

MogileFS-Server-mogilefsd-2.46-2.el6.noarch

MogileFS-Server-mogstored-2.46-2.el6.noarch

perl-Net-Netmask-1.9015-8.el6.noarch

perl-Perlbal-1.78-1.el6.noarch

3.2第二步来配置mogstored.conf ,在node1 ,node2上同时配置。

[root@node1mogilefs]#vim/etc/mogilefs/mogstored.confmaxconns=10000#最大连接并发数httplisten=0.0.0.0:7500mgmtlisten=0.0.0.0:7501docroot=/mogilefs/data

模型二:

这种模型既可以实现tracker的高可用

但是此时访问存储的数据太过复杂,那么我们又该如何部署使得访问变得简单,不用直接面对设备中的fid数据文件呢?

nginx这个程序具有第三方模块mogilefs就可以实现将url转为存储设备中的fid文件,也可以将fid数据转为url.所以我们只需要基于http协议在浏览器上直接访问数据的url就可以直观的查看到数据文件了。

nginx需要支持第三方模块的话需要自己编译nginx将第三方模块添加进来。

为node1,,node2安装tracker.

5.1 编译安装nginx以及第三方模块nginx_mogilefs_module-1.0.4.tar.gz

解压nginx源码包和模块

偶尔也要现实和虚伪一点,因为不那样做的话,很难混。

MogileFS的分布式文件系统的实现

相关文章:

你感兴趣的文章:

标签云: