第三步:连接上数据库,给两个用户授权:
[root@node0 ~]# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 46 Server version: 10.0.10-MariaDB-log MariaDB Server Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> USE mysql; Database changed MariaDB [mysql]> GRANT ALL ON *.* TO 'root'@'172.16.%.%' IDENTIFIED BY 'linux'; Query OK, 0 rows affected (0.20 sec) MariaDB [mysql]> GRANT ALL ON mogdb.* TO 'moguser'@'172.16.%.%' IDENTIFIED BY 'linux'; Query OK, 0 rows affected (0.00 sec) MariaDB [mysql]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.21 sec) MariaDB [mysql]>
第四步:再到两个节点上,在其中一个上设置即可:
[root@node1 mogilefs]# mogdbsetup --dbhost=172.16.27.88 --dbport=3306 --dbname=mogdb --dbrootuser=root --dbrootpass=linux --dbuser=moguser --dbpass=linux --yes # 可以再回到node0上查看一下生成的数据库 MariaDB [mysql]> USE mogdb; Database changed MariaDB [mogdb]> SHOW TABLES; +----------------------+ | Tables_in_mogdb | +----------------------+ | checksum | | class | | device | | domain | | file | | file_on | | file_on_corrupt | | file_to_delete | | file_to_delete2 | | file_to_delete_later | | file_to_queue | | file_to_replicate | | fsck_log | | host | | server_settings | | tempfile | | unreachable_fids | +----------------------+ 17 rows in set (0.03 sec)
第五步:在两个节点的其中一个上添加主机:
[root@node1 ~]# mogadm --trackers=172.16.27.1:7001 host add 172.16.27.1 --ip=172.16.27.1 --status=alive [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 host add 172.16.27.2 --ip=172.16.27.2 --status=alive [root@node1 mogilefs]# mogadm --trackers=172.16.27.1:7001 host list 172.16.27.1 [1]: alive IP: 172.16.27.1:7500 172.16.27.2 [2]: alive IP: 172.16.27.2:7500 # 再添加设备 [root@node1 mogilefsd]# mogadm --trackers=172.16.27.1:7001 device add 172.16.27.1 1 [root@node1 mogilefsd]# mogadm --trackers=172.16.27.1:7001 device add 172.16.27.2 2 [root@node1 mogilefsd]# mogadm --trackers=172.16.27.1:7001 device list 172.16.27.1 [1]: alive used(G) free(G) total(G) weight(%) dev1: alive 2.799 15.887 18.686 100 172.16.27.2 [2]: alive used(G) free(G) total(G) weight(%) dev2: alive 1.476 17.210 18.686 100 # [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 domain add images # 添加域 [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 domain add files [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 domain add html [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 domain list # 查看域 domain class mindevcount replpolicy hashtype -------------------- -------------------- ------------- ------------ ------- files default 2 MultipleHosts() NONE html default 2 MultipleHosts() NONE images default 2 MultipleHosts() NONE [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 class add images class0 --mindevcount=2 [root@node1 ~]# mogadm --trackers=172.16.27.1:7001 class list domain class mindevcount replpolicy hashtype -------------------- -------------------- ------------- ------------ ------- files default 2 MultipleHosts() NONE html default 2 MultipleHosts() NONE images class0 2 MultipleHosts() NONE #添加类 images default 2 MultipleHosts() NONE # 上传几张图片和测试的页面上去 [root@node1 ~]# mogupload --trackers=172.16.27.1:7001 --domain=images --key='1.png' --file='/usr/share/backgrounds/default_1920x1200.png' [root@node1 ~]# mogupload --trackers=172.16.27.1:7001 --domain=images --key='2.png' --file='/usr/share/backgrounds/wallpaper-six-2560x1240.png' [root@node1 ~]# mogupload --trackers=172.16.27.1:7001 --domain=images --key='/images/3.png' --file='/usr/share/backgrounds/CentOS_wallpaper_01_1920x1200.png' [root@node1 ~]# mogupload --trackers=172.16.27.1:7001 --domain=html --key='/files/index.html' --file='/var/www/html/index.html' [root@node1 ~]# mogupload --trackers=172.16.27.1:7001 --domain=files --key='/files/index.html' --file='/var/www/html/index.html' [root@node1 ~]# moglistkeys --trackers=172.16.27.1:7001 --domain=images /images/3.png 1.png 2.png [root@node1 ~]# mogfileinfo --trackers=172.16.27.1:7001 --domain=images --key='/images/3.png' - file: /images/3.png class: default devcount: 2 domain: images fid: 5 key: /images/3.png length: 202652 - http://172.16.27.2:7500/dev2/0/000/000/0000000005.fid - http://172.16.27.1:7500/dev1/0/000/000/0000000005.fid [root@node1 ~]# mogfileinfo --trackers=172.16.27.1:7001 --domain=files --key='/files/index.html' - file: /files/index.html class: default devcount: 2 domain: files fid: 9 key: /files/index.html length: 53 - http://172.16.27.2:7500/dev2/0/000/000/0000000009.fid - http://172.16.27.1:7500/dev1/0/000/000/0000000009.fid [root@node1 ~]#
可以复制这个地址在页面上测试一下,这里是每上传一个文件就都会在两个节点是都存一份,如果节点多的话它会根据定义的devcount自己选择节点存储几份,这样在一个节点掉了也可以在别的节点在有相同的资源可用;
第六步:以上的都配置好了就可以在前端的Nginx上配置访问控制了,修改配置文件:
[root@node0 nginx]# vim nginx.conf upstream mogcluster { # 定义多个上游服务器 server 172.16.27.1:7001; server 172.16.27.2:7001; } server { # 定义一个虚拟主机 listen 80; server_name www.tanxw.com; location /images/ { mogilefs_tracker mogcluster; mogilefs_domain images; mogilefs_pass { proxy_pass $mogilefs_path; proxy_hide_header Content-Type; proxy_buffering off; } } location ~* ^(/files/.*)$ { mogilefs_tracker mogcluster; mogilefs_domain files; mogilefs_pass $1 { proxy_pass $mogilefs_path; proxy_hide_header Content-Type; proxy_buffering off; } } } # 修改好配置文件后保存退出重启服务 [root@node0 nginx]# service nginx restart nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful Stopping nginx: [ OK ] Starting nginx: [ OK ] [root@node0 nginx]#
:
然后在页面上测试访问刚才上传的文件以及图片:
总结:
最后还可以测试一下把一个节点掉了,试着访问一下看另外正常工作的节点可不可以正常提供服务,这里还可以添加很多功能的,后续还会更新相关的基础网站服务器架构搭建的文章,在此,如果发现在什么不妥或做得不到的还望大家多提点建议。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113474.htm
