MogileFS 安装及基本管理

MogileFS 安装及基本管理

071844226.png


实验环境:

CentOS release 6.3 (Final)

MySQL-5.1.67

IP:192.168.214.207 上面安装一个Tracker和一个Storage

IP:192.168.214.208 上面就安装一个MySQL,最好做成HA结构。

IP:192.168.214.209 上面只安装一个Storage。


MogileFS包括三大部分

Tracker(跟踪器,调度器)---MogileFSd进程

MogileFS的核心组成,MogileFSd进程就是Tracker的进程程序,Tracker主要做的工作是:Replication , Deletion, Query, Reaper, Monitor 等,这个是基于事件的(event-based)父进程/消息总线来管理所有来自于客户端的应用的交互,包括将请求负载平衡到多个"query workers"中,然后让 MogileFSd 的子进程去处理。mogadm,mogtool 的所有操作都要跟 Trackers 打交道,Client 的一些操作也需要定义好Trackers,因此最好同时运行多个Trackers 来做负载均衡。不建议所有的Tracker都运行在一台机器上面。

Tracker配置文件:/etc/mogilefs/mogilefsd.conf

MySQL部分

数据库用来存放MogileFS的元数据,是Tracker来操作和管理MySQL,数据库保存了MogileFS的所有数据,如果这边挂了,那整个MogileFS就挂了,所以数据库要做成HA结构。

存储节点(Storage Nodes)--(mogstored进程,Apache和Nginx等)

实际文件存放的地方. 存储节点是一个 HTTP 服务器,用来做删除,存放,重命名等事情.任何 WebDAV 服务器都可以, 不过推荐使用 mogstored . MogileFSd 可以配置到两个机器上使用不同端口… mogstored 来进行所有的 DAV 操作和流量,IO监测, 并且你自己选择的 HTTP 服务器(默认为 perlbal)用来做 GET 操作给客户端提供文。

Mogstored的配置文件:/etc/mogilefs/mogstored.conf


接下来安装这三个部分:

一: 安装之前我们需要安装一个CPANM,我们用CPANM安装Perl模块,可以解决Perl需要的依赖关系,

#wget http://xrl.us/cpanm --no-check-certificate -0 /sbin/cpanm

#chmod +x /sbin/cpanm


CPANM的用法

添加模块 #cpanm ModuleName -#cpanm 模块名称

删除模块 #cpanm �CU/-uninstall ModuleName -#cpanm 模块名称


二:现在安装MogileFS

Tracker:之前我们安装了CPANM,所以我们直接用这个命令来安装,我们现在192.168.214.207这台机器上面安装Tracker。

#cpanm MogileFS::Server

#cpanm MogileFS::Utils

#cpanm MogileFS::Client

#cpanm IO::AIO


MySQL:安装mysql是最简单的,分两种情况来做.

1,数据库和tracker在一台机器上面。

#yum �Cy install mysql mysql-server mysql-devel

#/etc/init.d/mysqld start

建立MogileFS的数据库和用户名

# mysql

mysql> CREATE DATABASE MogileFS;

mysql> GRANT ALL ON MogileFS.* TO 'mogile'@'%';

mysql> SET PASSWORD FOR 'mogile'@'%' = OLD_PASSWORD( 'mogile' );

mysql> FLUSH PRIVILEGES;

mysql> quit

配置初始化数据库

#./mogdbsetup --dbname= MogileFS --dbuser=mogile --dbpassword=mogile

2:数据库和tracker不在同一台机器

#yum �Cy install mysql*

#/etc/init.d/mysqld start

建立MogileFS的数据库和用户名

# mysql

mysql> CREATE DATABASE MogileFS;

mysql> GRANT ALL ON MogileFS.* TO 'mogile'@'%';

mysql> SET PASSWORD FOR 'mogile'@'%' = OLD_PASSWORD( 'mogile' );

mysql> FLUSH PRIVILEGES;

mysql> quit

配置初始化数据库

# ./mogdbsetup --dbhost=192.168.214.208 --dbname=mMogileFS --dbuser=mogile --dbpassword=mogile


现在创建配置文件目录和修改主配置文件,MogileFS的主daemon,mogilefsd是调度器(tracker)的配置文件。

#mkdir /etc/mogilefs/

#vi /etc/mogilefs/mogilefsd.conf

# Database connection information

db_dsn = DBI:mysql:MogileFS:host=192.168.214.208

db_user = mogile

db_pass = mogile


# 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


由于mogliefsd不能用root用户启动,所以要添加mogile用户,并使用mogile的用户启动tracker node。

#adduser mogile

#su �C mogile

$mogilefsd �Cc /etc/mogilefs/mogilefsd.conf �Cdaemon


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

[root@host_214-207 ~]# ps -ef | grep mogilefsd

root 19216 16209 0 10:42 pts/1 00:00:00 grep mogilefsd

mogile 19491 1 0 Sep19 ? 00:08:18 mogilefsd

mogile 19492 19491 0 Sep19 ? 00:06:32 mogilefsd [monitor]

mogile 19493 19491 0 Sep19 ? 00:00:44 mogilefsd [replicate]

mogile 19494 19491 0 Sep19 ? 00:00:44 mogilefsd [replicate]

mogile 19495 19491 0 Sep19 ? 00:00:44 mogilefsd [replicate]

mogile 19496 19491 0 Sep19 ? 00:00:44 mogilefsd [replicate]

mogile 19497 19491 0 Sep19 ? 00:00:43 mogilefsd [replicate]

mogile 19498 19491 0 Sep19 ? 00:00:31 mogilefsd [delete]

mogile 19499 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19500 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19501 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19502 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19503 19491 0 Sep19 ? 00:00:06 mogilefsd [queryworker]

mogile 19504 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19505 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19506 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19507 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19508 19491 0 Sep19 ? 00:00:04 mogilefsd [queryworker]

mogile 19509 19491 0 Sep19 ? 00:00:11 mogilefsd [reaper]

mogile 19510 19491 0 Sep19 ? 00:00:26 mogilefsd [fsck]

mogile 19511 19491 0 Sep19 ? 00:09:25 mogilefsd [job_master]



设置MogileFS的存储节点

MogileFS 扩容时,安装上面的几个组件就行了,也要安装 MogileFS::Utils 这个软件,不然没法加到现有的 MogileFS 中来.因为没有mogadm 的命令.但服务只要启动下面的和配置下面的就可以了.注.这个只需要在存储节点上安装.

1:配置文件mogstored.conf

配置“存储节点”storage nodes

#vi /etc/mogilefs/mogstored.conf

maxconns = 10000

httplisten = 0.0.0.0:7500

#mgmtlisten = 192.168.214.207:7501

mgmtlisten = 0.0.0.0:7501

docroot=/var/mogdata

docroot 是数据存放在什么路径决定的。

2:启动“存储节点”

#mogstored --daemon

要想在后台运行这个节点

#mogstored --daemon &


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

#vi /etc/mogilefs/mogilefs.conf

trackers = 0.0.0.0:7001



MogileFS的管理

在192.168.214.207这个既是tracker和storage的服务器中,把自己先加入到MogileFS系统中。

#mogadm --lib=/usr/local/lib64/perl5 --trackers=0.0.0.0:7001 host add dev.mogilefs --ip=192.168.214.207 --port=7500 --status=alive


查看加入到MogilesFS系统中的storage


# mogadm --lib=/usr/local/lib64/perl5 --trackers=0.0.0.0:7001 host list

mystorage [1]: alive

IP: 192.168.214.209:7500


dev.mogilefs [2]: alive

IP: 192.168.214.207:7500



MogileFS中的存储设备管理

建一个目录给这个"设备"使用,我们这的例子是使用 dev1在主机中建一个目录,建目录使用 dev + ID 这种格式,记的所有系统中 ID 不能重复.也必须和配置文件中的路径一样.

#mkdir �Cp /var/mogdata/dev2


给"设备"加入”存储的节点“当中,相当于为每个设备加入 MogileFS 的存储系统

#mogadm device add <storage_node_name> ID

storage_node_name == dev.mogilefs 说明


检查我们加入的"设备"信息,这样就能见到上面这个设备了.还能显示加入的大小.

#mogadm device list

[root@host_214-207 ~]# mogadm device list

mystorage [1]: alive

used(G) free(G) total(G) weight(%)

dev2: alive 0.565 8.777 9.343 100


dev.mogilefs [2]: alive

used(G) free(G) total(G) weight(%)

dev1: alive 0.434 8.909 9.343 100

071921695.pngmogiles

你可能感兴趣的:(存储,mogilefs,mogadm)