本文共 4014 字,大约阅读时间需要 13 分钟。
centos系统服务器5台、一台作为mysql(主)一台mysql(从),三台作为存储节点,配置好yum源、防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信
主机 | IP1 | 作用 | 备注 |
---|---|---|---|
mogilefs-mysql01 | 192.168.16.173 | mysql+tracker | tracker+数据库主节点 |
mogilefs-mysql02 | 192.168.17.173 | mysql从+tracker | tracker+数据库从节点 |
mogilefs-store01 | 192.168.17.174 | stored | stored存储 |
mogilefs-store02 | 192.168.17.175 | stored | stored存储 |
mogilefs-store03 | 192.168.17.176 | stored | stored存储 |
先安装perl需要的包
yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO
安装mogile需要的包
链接: 密码:8twarzyum install *
ntpdate 172.17.0.1
配置文件
vim /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0server_id=173log_bin=/var/lib/mysql/log_binskip-name-resolve[mysqld_safe]log-error=/var/log/mariadb/mariadb.logpid-file=/var/run/mariadb/mariadb.pid!includedir /etc/my.cnf.d
开启服务
systemctl restart mariadb
授权复制权限
grant replication slave,replication client on *.* to slave@'%' identified by 'slave';
不能设置为只读,要不然切换切换主从时,从不能w
配置文件vim /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0server_id=183relay_log=/var/lib/mysql/relay_loglog_bin=/var/lib/mysql/log_binlog_slave_updates=1[mysqld_safe]log-error=/var/log/mariadb/mariadb.logpid-file=/var/run/mariadb/mariadb.pid!includedir /etc/my.cnf.d
开启服务
systemctl start mariadb
使用授权账号从主节点复制
change master to master_host='192.168.16.173', master_user='slave', master_password='slave', master_log_file='log_bin.000001',master_log_pos=245;
开启 I/O线程和sql线程
start slave;
让tracker节点连接mysql数据库使用
vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs { notification_email { root@localhost } notification_email_from root_keepalived smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL} vrrp_script chk_haproxy { script "killall -0 -u mysql" interval 2 weight -50 fall 2 rise 2 }vrrp_instance VI_2 { state BACKUP interface eth1 virtual_router_id 15 priority 200 advert_int 1 authentication { auth_type PASS auth_pass 2121 } virtual_ipaddress { 192.168.16.100 } track_script { chk_haproxy } }
vim /etc/mogilefs/mogilefsd.conf db_dsn = DBI:mysql:mogilefs:host=192.168.16.100 db_user = mogile db_pass = mogile #监听所有IP的7000端口,避免VIP不在本机而不能启动服务 listen = :7001
mogdbsetup --dbname=mogilefs --dbhost=192.168.16.100--dbuser=mogile --dbpass=mogile
此服务很奇葩,经常明明报错,但却启动成功
systemctl restart mogilefsd
vim /etc/mogilefs/mogstored.confmaxconns = 10000httplisten = 0.0.0.0:7500mgmtlisten = 0.0.0.0:7501docroot = /mogile/data
mkdir /mogile/{rpm,data} -p chown -R mogilefs.mogilefs /mogile
systemctl start mogstored
mkdir /mogile/data/dev41chown -R mogilefs.mogilefs /mogile
mkdir /mogile/data/dev51chown -R mogilefs.mogilefs /mogile
mkdir /mogile/data/dev61chown -R mogilefs.mogilefs /mogile
每个节点配置trcker节点位置
vim /etc/mogilefs/mogilefs.conftrackers=192.168.16.100
mogadm host add node_17_174 --ip=192.168.17.174 --port=7500 --status=alivemogadm host add node_17_175 --ip=192.168.17.175 --port=7500 --status=alivemogadm host add node_17_176 --ip=192.168.17.176 --port=7500 --status=alive
mogadm device add node_17_174 dev41mogadm device add node_17_175 dev51mogadm device add node_17_176 dev61
#image为domain_namemogadm admin add image
#class1为class_name#--mindevcount 4 副本4份mogadm class add image class1 --mindevcount 4
1.上传文件
mogupload --domain=image --key=chengkun --file=./1.jpeg
2.查看文件
mogfileinfo --domain=image --key=chengkun
3.删除文件
mogdelete --domain=image --key=chengkun
4.列出所有的文件 key
#这个可以列出指定 domain 下面的所有的 key , 也可以指定的一个前缀, 来找特定前缀的所有文件的 key.moglistkeys --domain=image --key_prefix=c
5.列出指定 fid 的文件
moglistfids --fromfid=--count= <数量>数量>
转载地址:http://ywili.baihongyu.com/