共计 9053 个字符,预计需要花费 23 分钟才能阅读完成。
实验原理:
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 及角色分配如拓扑
下载地址: 试验中用到 mariadb 软件的下载地址 ,http://pan.baidu.com/s/1dDyfBGl
—————————————— 分割线 ——————————————
FTP 地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:www.linuxidc.com
在 2015 年 LinuxIDC.com\9 月 \MogileFS 系统安装配置实例
下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm
—————————————— 分割线 ——————————————
MogileFS 设置 Memcached http://www.linuxidc.com/Linux/2012-03/56905.htm
在 MogileFS 中使用 Nginx http://www.linuxidc.com/Linux/2012-03/56904.htm
在开源分布式文件系统 MogileFS 中使用 Nginx http://www.linuxidc.com/Linux/2012-03/56573.htm
自定义 Nagios 监控 MogileFS 存储节点脚本 http://www.linuxidc.com/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 http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-1.15.tar.gz
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 http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-1.15.tar.gz
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://www.linuxidc.com/Linux/2015-09/122821p2.htm
三、管理配置 MogileFS
1. 三台主机安装 MogileFS-Utils:
cpan
-------------------------------->
install MogileFS::Utils
2. 在 Tracker 上添加 Storeage 节点:
mogadm --trackers=192.168.19.66:7001 host add test --ip=192.168.19.74 --port=7500 --status=alive
mogadm --trackers=192.168.19.66:7001 host add tsst --ip=192.168.19.76 --port=7500 --status=alive
3. 创建存储目录:
在 19.74 上:
mkdir /data/mogdata/dev1
在 19.76 上:
mkdir /data/mogdata/dev2
4. 在 Tracker 上添加存储设备:
mogadm --trackers=192.168.19.66:7001 device add test 1
mogadm --trackers=192.168.19.66:7001 device add tsst 2
mogadm --trackers=192.168.19.66:7001 device list
mogadm --trackers=192.168.19.66:7001 check
mogadm domain add jason
5. 上传文件测试:
mogupload --trackers=192.168.19.66:7001 --domain=jason --key='/fstab.html' --file='/etc/fstab'
mogfileinfo --trackers=192.168.19.66:7001 --domain=jason --key='/fstab.html'
用浏览器打开红框内的连接,即可看到文件:
咱们上传个图片试试:
mogupload --trackers=192.168.19.66:7001 --domain=jason --key='/CentOS.png' --file='/usr/share/backgrounds/default.png'
mogfileinfo --trackers=192.168.19.66:7001 --domain=jason --key='/centos.png'
四、扩展实验
上面实验可以看到,上传的文件仅在一个主机上存放,实际上应该是两个节点都存放才对。我从网上查到出错的原因可能是由于 Sys::Syscall 这个模块造成的。我们看到现在此模块的版本为 0.25。我上网搜索其解决办法,发现如果将此软件降为 0.23 版本可能会修复此问题,咱们试试看:
wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz
tar xf Sys-Syscall-0.23.tar.gz
cd Sys-Syscall-0.23
perl Makefile.PL
make && make install
重启 mogilefsd 进程,然后再上传一个文件试试:
vim /root/haha // 随便创建一个文件
---------------------------->
123
<----------------------------
mogupload --trackers=192.168.19.66:7001 --domain=jason --key='/haha.html' --file='/root/haha'
mogfileinfo --trackers=192.168.19.66:7001 --domain=jason --key='/haha.html'
至此,实验全部结束。由于是第一次玩这个东西,很多操作不是很熟练,过程中也出了不少错误,希望此文章对大家能够有一些参考价值。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-09/122821.htm
实验原理:
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 及角色分配如拓扑
下载地址: 试验中用到 mariadb 软件的下载地址 ,http://pan.baidu.com/s/1dDyfBGl
—————————————— 分割线 ——————————————
FTP 地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:www.linuxidc.com
在 2015 年 LinuxIDC.com\9 月 \MogileFS 系统安装配置实例
下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm
—————————————— 分割线 ——————————————
MogileFS 设置 Memcached http://www.linuxidc.com/Linux/2012-03/56905.htm
在 MogileFS 中使用 Nginx http://www.linuxidc.com/Linux/2012-03/56904.htm
在开源分布式文件系统 MogileFS 中使用 Nginx http://www.linuxidc.com/Linux/2012-03/56573.htm
自定义 Nagios 监控 MogileFS 存储节点脚本 http://www.linuxidc.com/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 http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-1.15.tar.gz
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 http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-1.15.tar.gz
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://www.linuxidc.com/Linux/2015-09/122821p2.htm