IT技术博客大学习 共学习 共进步

MogileFS 的安装(MogileFS 系列2)

扶凯 2011-09-07 23:21:50 浏览 3,303 次

我们在安装前,需要安装 cpanm 来安装模块,这是我现在最推荐使用的,用来安装 CPAN 上模块的方法。超级容易。当然,系统上最少开发环境还是有必要的,比如 Gcc 最少要有吧。这些都准备好了,我们可以开始来准备.

如果不会使用 cpanm 的话,参考我以前写过的 使用CPANMinus 来安装Perl 模块

安装前,先看看我写的有关 MogileFS 的介绍,还有 MogileFS 架构图,这样安装起来,就知道自己在忙些什么了。

安装 MogileFS 的 Perl 模块

很多人给 MogileFS 的安装搞的很麻烦,其它超级容易,就下面几步,就完事了。其它就是一些配置上的工作了。不要想太难了。。。事情本来没有这么复杂都是自己搞复杂的。

#cpanm DBD::mysql
#cpanm MogileFS::Server
#cpanm MogileFS::Utils
#cpanm MogileFS::Client

简单吧,所有的安装,基本就上面这些,下面基本都是配置了。

设置 MogileFS 的 Tracker 调度器与信息存储的数据库

(1. MogileFS使 用数据库作为后端保存文件数据的跟踪信息,一般使用MySQL来保存。所以首先需要安装MySQL数据库程序和创建MySQL数据库。

# yum install mysql mysql-server mysql-devel

(2. 建 MogileFS 用的数据库和用户名

CREATE DATABASE MogileFS DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL ON MogileFS.* TO 'mogile'@'%' IDENTIFIED BY 'mogile';
UPDATE mysql.USER SET Password=PASSWORD('newpass') WHERE USER='mogile'
FLUSH PRIVILEGES;
quit

(3. 配置和初始化数据库

#mogdbsetup --dbhost=mogiledb.yourdomain.com --dbname=MogileFS --dbuser=mogile --dbpass=mogilepw

(4. 创建配置文件目录,和修改你的主配置文件,这个是 MogileFS 的主 daemon , mogilefsd 就是调度器的配置文件.

#mkdir /etc/mogilefs/

我们需要编辑 /etc/mogilefs/mogilefsd.conf 这个文件。

# Database connection information
db_dsn = DBI:mysql:MogileFS:host=mogiledb.yourdomain.com
db_user = mogile
db_pass = mogilepw
 
# IP:PORT to listen on for MogileFS client requests
listen = 127.0.0.1:7001
 
# Optional, if you don't define the port above.
conf_port = 7001
 
# Number of query workers to start by default.
query_jobs = 10
 
# Number of delete workers to start by default.
delete_jobs = 1
 
# Number of replicate workers to start by default.
replicate_jobs = 5
 
# Number of reaper workers to start by default.
# (you don't usually need to increase this)
reaper_jobs = 1

(5. 由于 mogilefsd 不能用 root 用户启动.所以添加 mogile 用户 ,并使用 mogile 的用户启动 tracker node

#adduser mogile
#su - mogile
$ mogilefsd -c /etc/mogilefs/mogilefsd.conf --daemon

 我们可以 ps 来看看 mogilefsd 的进程,这个也能分别开到他启动了那些组件,分别做什么作用

$ ps -ef |grep mogilefsd
mogile 28811 1 0 13:34 ? 00:00:00 mogilefsd
mogile 28812 28811 0 13:34 ? 00:00:00 mogilefsd [replicate]
mogile 28813 28811 0 13:34 ? 00:00:00 mogilefsd [delete]
mogile 28814 28811 0 13:34 ? 00:00:00 mogilefsd [queryworker]
mogile 28815 28811 0 13:34 ? 00:00:00 mogilefsd [queryworker]
mogile 28816 28811 0 13:34 ? 00:00:00 mogilefsd [queryworker]
mogile 28817 28811 0 13:34 ? 00:00:00 mogilefsd [queryworker]
mogile 28818 28811 0 13:34 ? 00:00:00 mogilefsd [queryworker]
mogile 28819 28811 0 13:34 ? 00:00:00 mogilefsd [monitor]
mogile 28820 28811 0 13:34 ? 00:00:00 mogilefsd [reaper]
mogile 28821 28811 0 13:34 ? 00:00:00 mogilefsd [job_master]
mogile 28822 28811 0 13:34 ? 00:00:00 mogilefsd [fsck]

设置 MogileFS 的存储节点

还让的上次讲过的那张图中的 Storage nodes 吧,我们需要在每台用来存文件的存储节点服务器上都创建存储目录和 Storage 配置文件,记的,在以后扩容时,基本只要做这下面这几步就行。平行的扩展是相当的方便的。只要给机器搞个配置文件,然后在启动服务,然后用后面我教的方便来加入到这个系统中就好了。记的,在 MogileFS 扩容时,安装上面的几个组件就行了,也要安装 MogileFS::Utils 这个软件,不然没法加到现有的 MogileFS 中来。因为没有mogadm 的命令。但服务只要启动下面的和配置下面的就可以了。
(1. 配置文件 mogstored.conf
配置“存储节点”storage nodes

#vim /etc/mogilefs/mogstored.conf
maxconns = 10000
httplisten = 0.0.0.0:7500
mgmtlisten = 0.0.0.0:7501
docroot=/var/mogile_data

数据存在什么根路径是由docroot=/var/mogile_data 来设置的

(2. 启动“存储节点”

#mogstored --daemon

设置 MogileFS 中的管理工具的接口

这个是可选,建议配置,不然在后面我们使用 mogadmin 时,会一直提示我们要 trackers 的地址

#vim /etc/mogilefs/mogilefs.conf
trackers = <trackers_ip>:7001

制作 MogileFS 启动脚本并设置开机启动

这是另一个兄弟写的,他对 MogileFS 的研究看来是相当深,我就转过来一下。

原文是:http://www.admindigest.com/4/mogilefs%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/

两台机器上都创建下列Tracker的启动、停止、重启脚本,保存到/etc/rc.d/init.d/mogilefsd:
http://www.admindigest.com/7/mogilefs-tracker-%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC/

两台机器上都创建下列Storage节点的启动、停止、重启脚本,保存到/etc/rc.d/init.d/mogstored:
http://www.admindigest.com/8/mogilefs-storage-%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC/

执行下列命令:

#chmod 700 /etc/rc.d/init.d/mogilefsd
#chmod 700 /etc/rc.d/init.d/mogstored
#chkconfig --add mogilefsd
#chkconfig --add mogstored

 然后,测试一下脚本:

#service mogilefsd restart
#service mogstored restart

基本上,整个安装过程就完事了。安装个调度器,存储节点,在建个表,存信息,就完事了。接下来要讲的,基本都是管理和使用了。

建议继续学习

  1. 分布式缓存系统 Memcached 入门 (阅读 16,043)
  2. Zookeeper工作原理 (阅读 11,944)
  3. GFS, HDFS, Blob File System架构对比 (阅读 10,342)
  4. Zookeeper研究和应用 (阅读 9,342)
  5. 一致性哈希算法及其在分布式系统中的应用 (阅读 9,043)
  6. 分布式日志系统scribe使用手记 (阅读 8,843)
  7. 分布式哈希和一致性哈希 (阅读 8,665)
  8. HBase技术介绍 (阅读 7,943)
  9. 分布式系统的事务处理 (阅读 7,246)
  10. Memcache分布式部署方案 (阅读 6,666)