mogilefs部署

mogilefs实验环境:
1.需要两台tracker主机
2.一台mariadb
3.nginx_mogilefs_module模块要编译安装

在tracker主机:

1.上下载rpm包

mkdir mogilefs/

cd mogilefs

lftp 172.16.0.1

get

MogileFS-Server-2.46-2.el7.centos.noarch.rpm

MogileFS-Server-mogilefsd-2.46-2.el7.centos.noarch.rpm

MogileFS-Server-mogstored-2.46-2.el7.centos.noarch.rpm

MogileFS-Utils-2.19-1.el7.centos.noarch.rpm

perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm

perl-MogileFS-Client-1.14-1.el7.centos.noarch.rpm

perl-Perlbal-1.78-1.el6.noarch.rpm

scp *.rpm 172.16.42.8:/root/mogilefs/

2.安装依赖关系,安装包

yum install perl-Net-Netmask perl-IO-stringy perl-Sys-Syslog perl-IO-AIO -y

yum install *.rpm -y

3.初始化数据库

mogdbsetup –dbhost=172.16.42.9 –dbrootuser=root –dbrootpass=mageedu –dbuser=moguser –dbpass=mageedu –dbname=mogilefs –yes

4.配置mogilefsd

vim /etc/mogilefs/mogilefsd.conf

db_dsn = DBI:mysql:mogilefs:host=172.16.42.9

db_user = moguser

db_pass = mageedu

listen = 0.0.0.0:7001

5.配置mogstored

vim /etc/mogilefs/mogstored.conf

maxconns = 10000 #最大连接数

httplisten = 0.0.0.0:7500 #http监听地址

mgmtlisten = 0.0.0.0:7501 #mgm监听地址

docroot = /mogdata #数据存放位置

6.将文件同步至另一个节点

scp /etc/mogilefs/* 172.16.42.8:/etc/mogilefs/

7.创建挂载点,并将磁盘挂载至此目录

mkdir /mogdata/dev1 -pv

chown -R mogilefs.mogilefs /mogdata/

8.启动服务

systemctl start mogilefsd

systemctl start mogilefsd

9.添加节点

mogadm –trackers=172.16.42.2:7001 host add 172.16.42.2 –ip=172.16.42.2 –status=alive

mogadm –trackers=172.16.42.2:7001 host add 172.16.42.8 –ip=172.16.42.8 –status=alive

10.添加设备

mogadm device add 172.16.42.2 1

mogadm device add 172.16.42.8 2

11.创建domain

mogadm –trackers=172.16.10.123:7001 domain add files

mogadm –trackers=172.16.10.123:7001 domain add html

mogadm –trackers=172.16.10.123:7001 domain add images

12.上传测试

mogupload –trackers=172.16.42.2:7001 –domain=html –key=’fstab.html’ –file=’/etc/fstab’

mogupload –trackers=172.16.42.2:7001 –domain=images –key=’test.jpg’ –file=’/root/test.jpg’

13.获取数据

mogfileinfo –trackers=172.16.42.2 –domain=files –key=’/fstab.txt’

在另个tracker主机:

mkdir /mogdata/dev2 -pv

chown -R mogilefs.mogilefs /mogdata/

mariadb主机上:

yum install mariadb-server -y

1.编辑配置文件

vim /etc/my.cnf.d/server.cnf

[mysqld]

skip_name_resolve=1

innodb_file_per_table = 1

systemctl start mariadb

2.授权

mysql

GRANT ALL ON *.* TO ‘root’@’172.16.42.%’ IDENTIFIED BY ‘mageedu’;

GRANT ALL ON mogilefs.* TO ‘moguser’@’172.16.42.%’ IDENTIFIED BY ‘mageedu’;

CREATE DATABASE mogilefs;

FLUSH PRIVILEGES;

quit

nginx模块编译安装:

1.下载nginx模块

wget http://www.grid.net.ru/nginx/download/nginx_mogilefs_module-1.0.4.tar.gz

tar xvf nginx_mogilefs_module-1.0.4.tar.gz

2.安装开发环境

yum groupinstall “Development Tools” “Server Platform Development” -y

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

useradd -r nginx

tar xvf nginx-1.10.3.tar.gz

cd nginx-1.10.3

3.编译安装nginx

./configure \

> –prefix=/usr/local/nginx \

> –sbin-path=/usr/sbin/nginx \

> –conf-path=/etc/nginx/nginx.conf \

> –error-log-path=/var/log/nginx/error.log \

> –http-log-path=/var/log/nginx/access.log \

> –pid-path=/var/run/nginx/nginx.pid \

> –lock-path=/var/lock/nginx.lock \

> –user=nginx \

> –group=nginx \

> –with-http_ssl_module \

> –with-http_flv_module \

> –with-http_stub_status_module \

> –with-http_gzip_static_module \

> –http-client-body-temp-path=/usr/local/nginx/client/ \

> –http-proxy-temp-path=/usr/local/nginx/proxy/ \

> –http-fastcgi-temp-path=/usr/local/nginx/fcgi/ \

> –http-uwsgi-temp-path=/usr/local/nginx/uwsgi \

> –http-scgi-temp-path=/usr/local/nginx/scgi \

> –with-pcre \

> –with-debug \

> –add-module=../nginx_mogilefs_module-1.0.4

vim objs/Makefile

#把-Werror删除掉

make && make install

4.修改nginx配置文件

cd /usr/local/nginx/conf/

vi nginx.conf

upstream trackers {

server 172.16.42.2:7001 weight=1;

server 172.16.42.8:7001 weight=1;

check interval=1000 rise=2 fall=5 timeout=1000;

}

location /images/ {

mogilefs_tracker trackers;

mogilefs_domain images;

mogilefs_methods GET;

mogilefs_noverify on;

mogilefs_pass {

proxy_pass $mogilefs_path;

proxy_hide_header Content-type;

proxy_buffering off;

}

}

nginx

重读磁盘:echo ‘- – -‘ >/sys/class/scsi_host/host2/scan

原创文章,作者:z long,如若转载,请注明出处:http://www.178linux.com/84256

(0)
z longz long
上一篇 2017-08-08
下一篇 2017-08-08

相关推荐

  • Linux文本处理三剑客之grep

    一、grep命令 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件 二、grep命令格式 grep [OPT…

    Linux干货 2016-08-15
  • RAID常见级别及特性

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),通过软件或者硬件的手段将多个磁盘整合成一个磁盘来使用,以此来提高磁盘的性能,并提供数据冗余的功能。 目前常见的RAID等级: raid0,被称为条带卷。 条带卷,我们可以通过名字来想象:RAID0通过把文件切割之后把数据像一条带子一样平铺在每个磁盘之上。 由于文…

    Linux干货 2016-01-05
  • MySQL or MariaDB 简介

    DBMS:数据库管理系统 RDBMS:关系型数据库管理系统    总之:他们都是一个数据管理程序;大多都是CS架构,都有专门的通信协议进行数据交换 关系模型:               表(行或者列):二维关系 设计范式:       &…

    Linux干货 2017-01-12
  • 计算机简介

    计算机的简介 电子计算机(英语:computer),亦称电脑,是一种利用「电子学」原理,根据一系列指令对数据进行处理的工具计算机种类繁多,但实际来看,计算机总体上是处理信息的工具。计算机在组成上形式不一,早期计算机的体积足有一间房屋的大小,而今天某些嵌入式计算机可能比一副「扑克牌」还小。当然,即使在今天依然有大量体积庞大的巨型计算机为特别的[科学]计算或面向…

    Linux干货 2016-10-28
  • 理解Inode

    inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 下面就是我的inode学习笔记,尽量保持简单。 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最…

    Linux干货 2015-03-20
  • 网络配置的常用工具

    一、网络配置的常用工具     例如:                ifcfg:ifconfig、route、netstat    &nb…

    Linux干货 2016-09-09