实验原理:
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系统安装配置实例
下载方法见 http:///Linux/2013-10/91140.htm
------------------------------------------分割线------------------------------------------
MogileFS 设置 Memcached http:///Linux/2012-03/56905.htm
在 MogileFS 中使用 Nginx http:///Linux/2012-03/56904.htm
在开源分布式文件系统MogileFS 中使用 Nginx http:///Linux/2012-03/56573.htm
自定义Nagios监控MogileFS存储节点脚本 http:///Linux/2011-12/49394.htm
实验拓扑:
一、在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配置文件:
mkdir /etc/mogilefs
vim /etc/mogilefs/mogilefsd.conf
--------------------------------------------------------->
db_dsn = DBI:mysql:mogilefs:host=192.168.19.66
db_user = moguser
db_pass = 123456
conf_port = 7001
listener_jobs = 5
node_timeout = 5
rebalance_ignore_missing = 1
7.创建mogile用户并启动测试,查看端口,看到7001已经开始监听了。另外可以使用“pkill mogilefsd”来停止mogilefsd服务。
useradd mogile su mogile -c "mogilefsd -c /etc/mogilefs/mogilefsd.conf --deamon"
二、在19.74和19.76上安装MogileFS
1.安装YAML:
wget
tar xf YAML-1.15.tar.gz
cd YAML-1.15
perl Makefile.PL
make && make install
2.使用cpan在线安装MogileFS:
cpan --------------------------------> install MogileFS::Server
3.创建Storage配置文件:
mkdir /data/mogdata -pv useradd mogile chown -R mogile.mogile /data/mogdata mkdir /etc/mogilefs vim /etc/mogilefs/mogstored.conf -----------------------------------------------------> httplisten=192.168.19.74:7500 //在19.76上把地址改了即可 mgmtlisten=192.168.19.74:7501 docroot=/data/mogdata
4.启动MogileFS Storage节点,查看端口,看到7500和7501开始监听了。另外可以使用“pkill mogstored”来停止mogstored服务。
mogstored --daemon
更多详情见请继续阅读下一页的精彩内容: http:///Linux/2015-09/122821p2.htm