实验:企业级分布式存储应用与实战-mogilefs实现

(1)安装mogilefs

1.创建一个存放安装mogilefs所需的软件包的目录

cd /app/

mkdir mogilefs

cd mogilefs

2.用lftp下载安装mogilefs所需的软件包

lftp 172.17.0.1

lftp 172.17.0.1:/pub/Sources/7.x86_64/mogilefs> mget *

3.安装mogilefs

yum localinstall * -y

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

(2)初始化数据库,授权即可,其他默认

1.授权

mysql

grant all privileges on mogilefs.* to 'mogile'@'172.17.0.1' identified by 'mogile' with grant option;

2.初始化数据库,只需指定密码,其他默认

mogdbsetup --dbpass=mogile

(3)配置tracker

1.修改配置文件

vim /etc/mogilefs/mogilefsd.conf

配置客户端请求的地址和连接数据库所需的用户名和密码

2.启动tracker

/etc/init.d/mogilefsd start

ss -ntl 查看是否有7001端口

ps -ef |grep mogilefs 查看进程

3.查看配置的tracker

mogadm --tracker=ip:port check

mogadm --tracker=192.168.10.190:7001 check

(4)配置storage节点

1.修改配置文件

vim /etc/mogilefs/mogstored.conf

配置存放真实数据的路径

2.创建配置的工作路径路径

mkdir /data/mogdata -p

修改工作路径的属主

chown mogilefs.mogilefs /data/mogdata -R

3.启动strage

/etc/init.d/mogstoraged start

ss -ntl 查看7500端口

(4)关联tracker调度器和storage节点服务器

在tracker上去配置(也可在storage节点上去配置,只不过要制定tracker是谁)

1.添加节点1

mogadm --tracker=192.168.10.190:7001 host add node3 --ip=192.168.10.187 --port=7500 --status=alive

2.查看tracker

mogadm --tracker=192.168.10.190:7001 check

3.添加节点2

mogadm --tracker=192.168.10.190:7001 host add node5 --ip=192.168.10.160 --port=7500 --status=alive

4.查看tracker

mogadm --tracker=192.168.10.190:7001 check

(5)添加设备

创建设备目录,目录名字是有要求dev+id

1.在storage节点上node1

cd /data/mogdata

mkdir dev1

修改属主

chown mogilefs.mogilefs dev1 -R

2.在storage节点上node2

cd /data/mogdata

mkdir dev2

修改属主

chown mogilefs.mogilefs dev2 -R

(6)将设备加载到mogilefs的集群中

mogadm --tracker=192.168.10.190:7001 device add node3 1

mogadm --tracker=192.168.10.190:7001 device add node5 2

(7)查看tracker

在客户端配置文件加一个tracker,指定tracker在哪

vim /etc/mogile/mogilefs.conf

trackers=192.168.10.190:7001

然后就可以直接去查看tracker

mogadm check (不用指定tracker)

(8)添加域和class

mogadm domain add img 添加一个img域,只存放图片

mogadm class add img m26 --mindevcount=3 在img域中添加一个m26class,数据保存3份

mogadm domain list 查看域

(9)测试

1.上传文件(在tracker上)

mogupload --domain=img --key=test --file=magedu.png

2.在storage节点查看上传文件

key是文件的映射,可以在数据库中查看

(10)查询上传文件

mogfileinfo --domain=img --key=test

(11)在浏览器上访问该文件

(12)修复bug,实现后端storage node 同步存储

分析:因为这个版本有bug,所以需降版本

1.下载包

wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz

也可以http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz 去网站直接下载

2.上传,解压缩

rz,tar xvf Sys-Syscall-0.23.tar.gz -C /tmp

3.编译安装

① 因为是perl 语言编写的,所以需要安装perl 编译安装的环境

yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes

② 编译安装

cd /tmp/Sys-Syscall-0.23/

perl Makefile.PL 准备环境

make & make install

4.重启服务

① 在tracker 服务器是,有时候开启服务显示失败,其实已经成功

/etc/init.d/mogilefsd stop

/etc/init.d/mogilefsd start

② 在storage node 服务器上,有时候开启服务显示失败,其实已经成功

/etc/init.d/mogstored stop

/etc/init.d/mogstored star

5.测试

① 再上传一张图片

mogupload --domain=img --key=test1 --file=along.jpg

② 在两个storage node 服务器上,存储已经实现同步

实验:企业级分布式存储应用与实战-mogilefs实现的更多相关文章

  1. 项目实战9—企业级分布式存储应用与实战MogileFS、FastDFS

    企业级分布式存储应用与实战-mogilefs 环境:公司已经有了大量沉淀用户,为了让这些沉淀用户长期使用公司平台,公司决定增加用户粘性,逐步发展基于社交属性的多样化业务模式,决定开展用户讨论区.卖家秀 ...

  2. 企业级分布式存储应用与实战-mogilefs实现

    Mogilefs是什么 MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发.Danga团队开发了包括 Memcached.Mogi ...

  3. 企业级分布式存储应用与实战MogileFS、FastDFS

    项目实战9—企业级分布式存储应用与实战MogileFS.FastDFS   目录 实战一:企业级分布式存储应用与实战 mogilefs 实现 原理 1.环境准备 2.下载安装,每个机器都一样 3.数据 ...

  4. 企业级分布式存储应用与实战FastDFS实现

    FASTDFS是什么 FastDFS是由国人余庆所开发,其项目地址:https://github.com/happyfish100 FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文 ...

  5. Mysql实现企业级数据库主从复制架构实战

    场景 公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司 ...

  6. 项目实战7—Mysql实现企业级数据库主从复制架构实战

    Mysql实现企业级数据库主从复制架构实战 环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公 ...

  7. 企业级NginxWeb服务优化实战(上)

    企业级NginxWeb服务优化实战(上) 1. Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题 ...

  8. JAVA企业级应用服务器之TOMCAT实战

    JAVA企业级应用服务器之TOMCAT实战 链接:https://pan.baidu.com/s/1c6pZjLeMQqc9t-OXvUM66w 提取码:uwak 复制这段内容后打开百度网盘手机App ...

  9. 企业级NginxWeb服务优化实战(下)

    企业级NginxWeb服务优化实战(下) 4. Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog ...

随机推荐

  1. Python基础3切片,字符串的方法

    切片:截取字符串某一段字符,并不改变原字符串.结构:[起始位置:终止位置:步长]  但不包括终止位置.所谓:顾头不顾尾 索引:序列中每个元素都是有编号的,都是从0开始编号的.使用负数索引时,Pytho ...

  2. RabbitMQ 笔记-RPC

    RabbitMQ中实现RPC的机制是: 客户端发送请求(消息)时,在消息的属性(MessageProperties,在AMQP协议中定义了14中properties,这些属性会随着消息一起发送)中设置 ...

  3. [ACdream]女神教你字符串——导字符串

    Problem Description 正如大家知道的,女神喜欢字符串,而在字符串中,女神最喜欢回文字符串,但是不是所有的字符串都是回文字符串,但是有一些字符串可以进行“求导”来变成回文字符串. 字符 ...

  4. LeetCode 461. Hamming Distance (汉明距离)

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  5. Spring MVC 快捷定义 ViewController

    WHY  :               为什么我们需要快捷定义 ViewController ? 在项目开发过程中,经常会涉及页面跳转问题,而且这个页面跳转没有任何业务逻辑过程,只是单纯的路由过程 ...

  6. python去除读取文件中多余的空行

    今天在写登录程序练习的时候,黑名单文件中多了几行空行.导致运行的时候报错:IndexError: list index out of range 代码 brackData = open(brackDa ...

  7. TensorFlow Object Detection API(Windows下训练)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 最近事情比较多,前面坑挖的有点久,今天终于有时间总结一下,顺便把Windows下训练跑通.Li ...

  8. 关于IntelliJ IDEA删除项目

    刚开始使用IDEA . 自己创建项目玩,结果发现IDEA无法删除,我也是醉了,Eclipse直接右键 -> delete -> 勾选删除源文件 就删除了,IDEA死活没有找到删除选项... ...

  9. struts2(五)之struts2拦截器与自定义拦截器

    前言 前面介绍了struts2的输入验证,如果让我自己选的话,肯定是选择xml配置校验的方法,因为,能使用struts2中的一些校验规则,就无需自己编写了, 不过到后面应该都有其他更方便的校验方法,而 ...

  10. BPF漫谈

    源起 最近看到国内两篇文章[1][2]先后翻译了就职于Netflix的性能分析大牛Brendan Gregg于2017年7月31日写的<Golang bcc/BPF Function Traci ...