彩经网

博睿宏远-企业应用性能管理服务商,赋能IT运营智能化

彩经网

开源工具BRFS

背景

QIYEZAIRICHANGYUNYINGZHONGHUIHUISHOUDALIANGDESHUJUWENJIANJINXINGCUNCHU,RUWANGYEJIETU、WANGLUOZHUABAO、DAIMADUIZHANKUAIZHAODENG。CILEIWENJIANTIJIXIAODANSHULIANGDUO,ZHEIJIUDAOZHIZAICUNCHUSHANGHUIYUDAOHENDUOWENTI:

如果使用系统原生文件系统进行存储,会遇到Linux索引节点(inode)耗尽导致磁盘存储空间无法有效利用的问题,同时也无法原生支持分布式及高可用的要求。

但如果采用HDFS或HBASE方案存储,则一方面硬件资源开销较大,NameNode内存开销过大,同时该方案读写效率也不足够高效,尤其当内部进行块文件合并时集群I/O压力过大的时候,读写效率更是难以保证。

BORUIHONGYUAN10NIANSHENGENGAPMJISHUCHUANGXIN,TUICHULEZHONGDUOXINGYELINGXIANCHANPIN,RUBonree SDK、Bonree Browser、Bonree ServerDENG,ZHEIXIECHANPINMEITIANDOUHUIHUISHOUHAILIANGSHUJUWENJIAN,CUNCHUSHIYEZAOYULESHANGSHUWENTI。PINGJIEDUONIANDASHUJUXIANGMUSHIJIANJINGYAN,BORUIHONGYUANGOUJIABRFS(Bonree Distributed FileSystem)XITONG,YIMANZUGECHANPINXIANDUIHAILIANGXIAOWENJIANSHUJUCUNCHUXUQIU。

BRFS简介

BRFS(Bonree Distributed FileSystem)SHIYIGEZHUYAOZHENDUIHAILIANG(10YIGEWENJIANYISHANG)XIAOWENJIAN(KUAIZHAO、TUPIAN、YUYINDENG,PUBIANDAXIAOZAI1KB-50KB)CUNCHUERSHEJIDEGAOKEYONG、GAOXINGNENG、YIKUOZHANDEFENBUSHIWENJIANXITONG。BRFSDUICUNCHUDEWENJIANGESHIMEIYOUXIANZHIHEYAOQIU,RENHEGESHIDEWENJIANDOUHUIYIbyteZIJIELIUDEFANGSHIJINXINGCUNCHU。

彩经网CIXITONGGONGNENGBUJINBAOHANLEXIANYOUQITAKAIYUANCHANPINJUBEIDEQUANXIANKONGZHI、SHUJUZENGSHANDU、DUOFUBENBEIFEN、SHUJUJIANYANDENGJICHUGONGNENG,TONGSHIBORUIHONGYUANHAISHEJILEDUTEQIEGAOXIAODEFUBENZIDONGQIANYIHEPINGHENGCELVE、DUOYINGYONGSHUJUGELIQIEDULIPEIZHI,XITONGZIYUANGUANLICHAJIAN、JIQUNZHUANGTAIKESHIHUAJIANKONGYUBAOJINGDENGGONGNENG。

BRFS的价值

CONGSHIHOUDAOSHIQIAN,BIANBEIDONGYUNWEIWEIZHUDONGYUNWEI,XIAOCHUYUNWEIMANGDIAN,BANGZHUYUNWEICHENGWEIXINYEWUBUMEN,CHIXUWEIYEWUTIGONGFUWUZHICHENG。

文件存储采用写时合并机制,帮助客户解决环境IO瓶颈的问题;

文件副本自动平衡恢复,帮助客户解决数据的安全性的问题;

硬件资源负载管理,帮助客户解决集群资源使用热点的问题;

引入应用分区的概念,帮助客户解决不同业务数据个性化处理的问题;

彩经网集群横向扩容,帮助客户解决集群扩容不方便的问题。

Bonree BRFS与阿里FastDFS压测对比

彩经网ZAICHULIHAILIANG5KBDAXIAODEWENJIANBINGFAXIERUHEDUQUSHI,BRFSDEXINGNENGBIAOXIANJUNYOUYUFastDFS,YOUQIZAIXIERUXINGNENGFANGMIAN,YAOMINGXIANYOUYUFastDFS,XINGNENGCHAOCHUYUE2-3BEI。

BRFS系统包含如下三个部分:

FS_Server.jar

ZAIJIQUNMEIGEJIEDIANSHANGYUNXINGDEHEXINFUWUMOKUAI。ZAIMOKUAIYUNXINGSHIHUIQIDONGRUOGANReginNode(GUANLIJIEDIAN)HEDataNode(SHUJUJIEDIAN)JINCHENGLAITIGONGFUWU。QIZHONGReginNodeJINCHENGZHUYAOZHIZESHIGUANLICUNCHUYUYUANXINXI、GUANLISHUJUJIEDIAN、BAYONGHUSHUJUFENPEIDAOBUTONGDESHUJUJIEDIANSHANGJINXINGCHULI;DataNodeJINCHENGZHUYAOZHIZESHIYONGHUSHUJUWENJIANDEXIERUHEDUQU、FUBENZIDONGPINGHENGHUIFU、ZHIXINGDINGSHIRENWU(FUBENSHUXIAOYAN、CRCXIAOYAN、SHUJUSHANCHU、SHUJUGUIBING)ZHIXINGDENG。

FS_ResouceManager.jar

XITONGZIYUANGUANLIMOKUAI,YONGYUSHISHISHOUJIHEJIANKONGJIQUNGEJIEDIANZIYUANFUZAIQINGKUANG,YIZHICHIXITONGKEGENJUJIEDIANFUZAIQINGKUANGFENPEIZIYUAN,JIEJUEGEJIEDIANZIYUANLIYONGHEFUZAIBUJUNHENGWENTI。BRFSXITONGNEIBUMORENTIGONGLEYIZUZIYUANGUANLIDECELVE,ZHUYAOBAOHANCPU、NEICUN、I/O、CIPANRONGLIANGDENGFUZAIZHIBIAO。MUQIANCIMOKUAICAIYONGKERECHABADESHEJIFANGSHI,DANRUGUOYONGHUYOUTESHUXUQIU,KEZIDINGYICICHAJIAN,ZIXINGSHIXIANJIQUNZIYUANDEFENPEIHEGUANLI。

server.properties.example

YONGYUHOUTAIFUWUYUNXINGSHISUOYOUDEGUANJIANKONGZHICANSHUDEMORENZHIPEIZHI,RUGUOXIANGBIANGENGCANSHUZHI,KEYIFUZHIYIGEMINGWEIserver.propertiesDEWENJIAN,BINGBAXUYAOXIUGAIDESHUXINGHEZHITIANJIADAOCIWENJIANZHONGJIKE,CHENGXUYUNXINGSHIserver.propertiesWENJIANZHONGDEPEIZHIDECANSHUZHIHUIFUGAIserver.properties.exampleWENJIANZHONGCANSHUDEMORENZHI。

同时,用户如需调用BRFS服务,则需要在工程中引入FS_Client.jar,并在代码中调用相关的接口对BRFS系统进行操作;BRFS分布式文件系统接收的数据形式可以是快照、图片或者任何以byte数组方式进行存储的数据文件。

BRFS整体系统架构

彩经网CIXITONGZHUYAOYOUZookeeper、Client、ServerYIJIKESHIHUAJIANKONGUIDENGSIBUFENMOKUAIZUCHENG。

彩经网BRFS使用Zookeeper来管理集群服务,同步节点状态,确保服务高可用。Zookeeper上保存具体信息包括:机器节点信息、Storage信息、SID信息、任务信息、副本信息、lock锁信息、用户信息、临时信息等元数据信息。

彩经网Client即用户客户端,它是以Jar的形式被用户在用户工程代码中引用,并通过调用其相应的接口对BRFS进行数据添加、修改、读取等操作。

Server即后台集群服务,包括RegionNode和DataNode两组进程。主要功能包含了安全认证、副本管理、磁盘管理、任务(副本数校验、crc校验、删除、归并等)管理、节点资源管理和副本自动平衡与恢复、可视化监控与报警等功能模块。后台服务运行的相关进程是通过zookeeper进行管理的。

彩经网可视化监控与报警,它是把集群节点上存储的文件情况、后台任务执行情况、资源负载情况、服务运行状态等都通过可视化监控直观的观察到,当某些状态达到阀值后可以自动触发报警。

BRFS核心运行机制

使用BRFS只需简单四步

BRFSXITONGCHUYILAIJDKDENGJICHUZUJIANWAI,QITAZUJIANZHIYILAIZookeeperFUWUJINXINGJIQUNZHUANGTAITONGBU,QIEHEXINFUWUZHIYOULIANGGEJarWENJIAN,YINCIANZHUANGBUSHUJIWEIJIANDAN,BUSHUANZHUANGZHIXUJIANDANSIBU:

彩经网安装基础组件,主要包括Zookeeper、JDK等;

根据业务需要配置server.properties文件;

彩经网启动各节点FS_Server.jar服务;

通过测试客户端,测试读写功能是否正常。

未来

未来,BRFS新版本还将进行两方面升级,一是对大文件存储的支持和优化,不再区分大文件或是小文件,而定位为海量非结构化数据分布式存储系统;二是解决目前所有类似服务都存在的需要用户保存文件FID的问题,对于用户来说,存储海量文件的FID同样是个很大的开销,BRFS将开发一款全新的基于磁盘的key-value系统,以解决海量FID和文件元数据关联存储的问题。

彩经网技术是博睿宏远发展的驱动力,10年从未停止技术创新的脚步,未来持续与大家分享更多、更先进的技术理念和方法,让世界变得更美好!

仅需几行代码即可快速构建海量小文件分布式存储系统

联系我们,获取BRFS

其他开源项目,敬请期待

Bonree HDSM项目

彩经网ZIYANQINGLIANGJIHAILIANGkey-valueDUIXIANGCUNCHUSHUJUKU,CHUNC/C++KAIFA,YIJIXIAODENEICUNKAIXIAOSHIXIANHAILIANGkey-valueDUIXIANGDEGAOSUXIERUHEDUQU;DANJI4C/8G/300G(SATA)YACE,XIERUQPSKEDAJIN4W/s,DUQUQPSJIN9W/s。

Bonree Ants项目

ZIYANZHENDUIHAILIANGSHIXUSHUJULIUSHICHULIYINQINGKUANGJIA,TIGONGYUANSHISHUJUYUCHULI、ZHUNSHISHIJISUAN、DUOZHONGSHIJIANLIDUPILIANGJISUAN、SHUJULUOPANJIGEZHONGRONGCUOCHULIDENGNEIZHIZHICHI,JIANGDILIUSHIDASHUJUCHULIKAIFAMENJIANHECHENGBEN,BANGZHUQIYEBIANJIEKUAISUDESHIXIANHAILIANGSHIXUZHIBIAOSHUJUDEZAIXIANLIUSHICHULIYEWU。

博睿宏远-企业应用性能管理服务商,赋能IT运营智能化

彩经网