实验:企业级分布式存储应用与实战-mogilefs实现
实验:企业级分布式存储应用与实战-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实现的更多相关文章
- 项目实战9—企业级分布式存储应用与实战MogileFS、FastDFS
企业级分布式存储应用与实战-mogilefs 环境:公司已经有了大量沉淀用户,为了让这些沉淀用户长期使用公司平台,公司决定增加用户粘性,逐步发展基于社交属性的多样化业务模式,决定开展用户讨论区.卖家秀 ...
- 企业级分布式存储应用与实战-mogilefs实现
Mogilefs是什么 MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发.Danga团队开发了包括 Memcached.Mogi ...
- 企业级分布式存储应用与实战MogileFS、FastDFS
项目实战9—企业级分布式存储应用与实战MogileFS.FastDFS 目录 实战一:企业级分布式存储应用与实战 mogilefs 实现 原理 1.环境准备 2.下载安装,每个机器都一样 3.数据 ...
- 企业级分布式存储应用与实战FastDFS实现
FASTDFS是什么 FastDFS是由国人余庆所开发,其项目地址:https://github.com/happyfish100 FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文 ...
- Mysql实现企业级数据库主从复制架构实战
场景 公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司 ...
- 项目实战7—Mysql实现企业级数据库主从复制架构实战
Mysql实现企业级数据库主从复制架构实战 环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公 ...
- 企业级NginxWeb服务优化实战(上)
企业级NginxWeb服务优化实战(上) 1. Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题 ...
- JAVA企业级应用服务器之TOMCAT实战
JAVA企业级应用服务器之TOMCAT实战 链接:https://pan.baidu.com/s/1c6pZjLeMQqc9t-OXvUM66w 提取码:uwak 复制这段内容后打开百度网盘手机App ...
- 企业级NginxWeb服务优化实战(下)
企业级NginxWeb服务优化实战(下) 4. Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog ...
随机推荐
- ThreadPoolExecutor系列<三、ThreadPoolExecutor 源码解析>
本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7681826.html 在源码解析前,需要先理清线程池控制的运行状态 ...
- Java正则表达式详解+练习
一.导读 正则表达式,又称规则表达式.(英文名Regular Expression,所以代码中常以regex.regexp.RE表示).正则表达式简单说就是用于操作文本数据的规则表达式,在Java中我 ...
- 使用angular4和asp.net core 2 web api做个练习项目(一)
这是一篇学习笔记. angular 5 正式版都快出了, 不过主要是性能升级. 我认为angular 4还是很适合企业的, 就像.net一样. 我用的是windows 10 安装工具: git for ...
- myeclipse10破解失败,正解
此文图借用他人的,很是经典 第一步:输入任意用户名 第二步:点击Systemid... 按钮,自动生成本机器的systemid.ps:确定本机的systemid,如果和破解器生成不一致,需要copy本 ...
- chromium源码阅读--进程间通信(IPC)
第一篇就有提到Chromium是目前默认是采用多进程架构,当然,chromium有singe-process的版本. 多进程与多线程的区别,确实有很多可以讲的,我的另一篇博客也讲了一些,这里是从浏览器 ...
- Java8 函数式编程详解
Java8 函数式编程详解 Author:Dorae Date:2017年11月1日23:03:26 转载请注明出处 说起Java8,可能很多人都已经知道其最大的改进,就是引入了Lambda表达式与S ...
- hbase的HQuorumPeer和QuorumPeerMain
hbase是列式数据库,既可以单机也可以以集群的方式搭建,以集群的方式搭建一般建立在hdfs之上. 分布式的hbase如何启动? 首先启动hadoop,然后就来问题了:zookeeper和hbase的 ...
- Python基础学习参考(三):内置函数
一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...
- 修改Jenkins用户的密码
说明:本方法仅适用于jdk6+.tomcat6+和Jenkins专有用户数据库的Jenkins! 很多童鞋在使用jenkins的时候忘记密码了,然后各种蛋疼.最近闲着无事,折腾了下.好了,闲话少扯. ...
- Python做的第一个小项目-模拟登陆
1. 用户输入帐号密码进行登陆 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 主要采用循环语句和条件语句进行程序流程的控制,加入文件的读写操作 while True: choice ...