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;
比如:在/usr/common下面mkdir mogilefs文件夹,在下面touch mogilefs.conf文件。
Tracker默认的配置文件:/etc/mogilefs/mogilefsd.conf
基本内容:
# 启用后台程序模式并使用syslog
daemonize = 1
# 存储守护进程的pid的位置(在init脚本中必须相同)
pidfile = /var/run/mogilefsd/mogilefsd.pid # 指定pid文件位置
#database connection information
ds_dsn=DBI:mysql:MogileFS:host=localhost # 修改为上面授权的账号和密码,使用本地机器的数据库MogileFSD
db_user=mogile # mysql用户
db_pass=cc # mysql密码
#IP:PORT to listen on for MogileFS client request
listen = 0.0.0.0:7000 # 监听的地址和端口(所有地址的7001端口)
# 如果不定义上面的端口,则为可选。
conf_port = 7001
# 默认情况下要启动的查询工作线程数。
query_jobs = 10 # 用于查询的进程数
# Number of delete workers to start by default.
delete_jobs = 1 # 用于删除操作的进程数
# 默认情况下要启动的删除工作线程数。
replicate_jobs = 5 # 用于复制的进程数
# 默认情况下要启动的收割工人数。
# (你通常不需要增加这个)
reaper_jobs = 1 # 用于回收资源的进程数
# 默认情况下要启动的fsck工作进程数。
# (这会在检查时造成很大的负荷)
#fsck_jobs = 1
# 以兆字节为单位保留的最小空间量
# default: 100
# 考虑将其设置为大于通常要上载的最大文件。
#min_free_space = 200
# 等待存储节点响应的秒数。
# default: 2
# 保持低水平,这样会很快忽略繁忙的存储节点.
#node_timeout = 2
# 等待连接到存储节点的秒数。
# default: 2
# 保持这个低位,以便跳过重载节点。
#conn_timeout = 2
# 如果为get配置了apache或类似的配置,则允许复制使用辅助节点get端口
#repl_use_get_port = 1
MogileFS不能用root启动,所以得添加一个非root用户。
MogileFS Tracker的命令在/usr/local/bin下的 ./mogilefsd
su mogile
mogilefsd -c(指定配置文件) /usr/common/mogilefs/mogilefsd.conf --daemon(后台运行)
ps -ef | grep mogilefsd
可以看到有由配置文件指定的线程数在运行。
默认的配置文件应该为/etc/mogilefs/mogstore .conf。
axconns = 10000#最大连接数
httplisten = 0.0.0.0:7500#监听地址
mgmtlisten = 0.0.0.0:7501
docroot=/var/mogdata/ #数据存放真实路径,在每个存储服务器上,创建存储目录
1.在Tracker运行的情况下,使用/usr/local/bin下的./mogadm将每个存储服务器添加到数据库
mogadm --lib=/usr/local/share/perl5/(提供perl lib路径) --trackers=192.168.26.26:7001(tracker地址及conf_port端口号) host add mogilestorage(存储节点名) --ip=192.168.26.126(存储节点地址) --port=7500(httplisten) --status=alive(状态,初始状态为done)
2.确认主机是否被添加:
mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 host list
3.需要为每个存储节点添加设备,需要手动添加一个唯一的设备id后的主机:
mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 device add mogilestorage 1 #添加device,id必须唯一
#mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 device add mogilestorage 2 #添加第二个device,id为2
4.使用modadm device list命令查看分配了哪些设备名称,然后将文件夹添加到我的存储主机
mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 device list
输出
mogilestorage [1]: alive # “mogilestorage”的主机id为“1”,并且它有一个名为“dev1”的设备,并且该设备处于“活动”状态(其他统计数据可能为零)。
used(G) free(G) total(G)
dev1: alive 0.892 67.772 68.664
5.使用上面的示例输出,只需存储节点上创建目录:
mkdir -p /var/mogdata/dev1 #确认设备(文件夹)存在于/var/mogdata目录中,通过配置文件中的docroot指定
6.确认设备已配置:
mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 device list
6.启动每个存储服务器,以根用户身份运行以下命令:
mogstored --daemon
提供俩个tracker,92.168.42.1和192.168.42.2,都监听6001端口。
存储节点上: mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.42.1:6001(,192.168.42.2:6001)主机列表 check
存储节点上
1.创建一个域:
mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 domain add testdomain
2.添加一个类到域:
mogadm --lib=/usr/local/share/perl5/ --trackers=192.168.26.26:7001 class add testdomain testclass