BFS-Baidu 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
BFS-Baidu 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
BFS-Baidu 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
BFS-Baidu 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
BFS-Baidu 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 BSD
开发语言 C/C++ 查看源码 »
操作系统 Linux
软件类型 开源软件
开源组织 百度
地区 国产
投 递 者 bluebore
适用人群 未知
收录时间 2016-09-19

软件简介

The Baidu File System

百度的核心数据库Tera将数据持久化在分布式文件系统上,分布式文件系统的性能、可用性和扩展性对整个上层搜索业务的稳定性与效果有着至关重要的影响。现有的分布式文件系统(如HDFS等)无法满足低延迟、高可用、跨地域扩展等方面的需求,所以我们从百度搜索的业务特点出发,开发了自己的分布式文件系统BFS。

设计目标

  1. 高可靠、高可用
    通过将数据副本进行多机房、多地域冗余,实现单个机房、地域遇到严重灾害的情况下,不丢失数据,不影响整体可用性。
    将元数据服务分布化,通过多副本实现高可用,通过Raft等一致性协议同操作日志,实现多副本的一致性。

  2. 高吞吐、低延迟
    通过高性能的存储引擎,最大化存储介质IO吞吐;通过全局的副本、流量调度,实现热点负载均衡。

  3. 水平扩展
    支持跨地域、多数据中心部署,可水平扩展至10万台机器。

系统架构

系统主要由NameServer、MetaServer、ChunkServer、SDK、bfs_mount和bfs_client等几个模块构成。
其中NameServer是中心控制模块,采用集群化部署,负责目录树的管理;ChunkServer是数据节点负责提供文件块的读写服务;SDK以静态库的形式提供了用户使用的API;bfs_mount通过libfuse,将bfs挂载到本地,作为本地文件系统访问;bfs_client是一个二进制的管理工具。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (16)

加载中
打分: 力荐
搭起来了,费老劲了
2016/12/30 20:32
回复
举报
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
bluebore软件作者
打分: 力荐
赞~
2017/01/06 08:44
回复
举报
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
分布式文件储存服务都有这几个模块。 #BFS-Baidu#
2016/10/25 07:56
回复
举报
厉害了word度 #BFS-Baidu#
2016/10/25 08:20
回复
举报
百度云一关闭,这玩意也就没什么用了 #BFS-Baidu#
2016/10/25 08:37
回复
举报
更多评论
发表了资讯
2017/03/10 13:52

BFS-百度文件系统 v0.6.0 发布

BFS-百度文件系统 V0.6 发布了。BFS 是百度团队从百度搜索的业务特点出发,以高可用、高吞吐和低延迟为目标,开发的新一代分布式文件系统。 0.6.0 更新内容: 支持文件软链接 DK添加C语言接口 SDK添加Python语言接口 HA支持传递Namespace镜像 一些 bug 修复 Release地址:BFS v0.6.0 BFS 主要面向海量实时数据处理,通过 NameServer Cluster 保证目录树的高可用,通过拆分 MetaServer 提高扩展性,并针对慢节点和网络拓扑持续优...

4
33
发表了资讯
2016/12/29 09:44

BFS-百度文件系统 v0.5.0 发布

BFS-百度文件系统 0.5.0 发布了。BFS 是百度团队从百度搜索的业务特点出发,以高可用、高吞吐和低延迟为目标,开发的新一代分布式文件系统。 0.5.0 更新内容: Chunkserver 支持多盘自动负载均衡 Chunkserver 支持异步close文件 添加 dockerfile 一些 bug 修复 Release地址:BFS v0.5.0 BFS 主要面向海量实时数据处理,通过 NameServer Cluster 保证目录树的高可用,通过拆分 MetaServer 提高扩展性,并针对慢节点和网络拓扑持续...

23
59
发表了资讯
2016/12/15 09:11

BFS-百度文件系统 v0.4.1 发布

BFS-百度文件系统 0.4.1 发布了。BFS 是百度团队从百度搜索的业务特点出发,以高可用、高吞吐和低延迟为目标,开发的新一代分布式文件系统。 0.4.1 更新内容: SDK支持扇出写,并代替链式写作为默认写入模式 完善bfs_mount,对随机写的支持更友好 增加更多的单测 一些bug修复 Release地址:BFS v0.4.1 BFS 主要面向海量实时数据处理,通过 NameServer Cluster 保证目录树的高可用,通过拆分 MetaServer 提高扩展性,并针对慢节点...

7
36
发表了资讯
2016/11/23 10:56

BFS-百度文件系统 v0.4.0 发布

BFS-百度文件系统 0.4.0 发布了,BFS 是百度团队从百度搜索的业务特点出发,以高可靠、高可用、高吞吐、低延迟、水平扩展为目标,开发的分布式文件系统。主要由NameServer、MetaServer、ChunkServer、SDK、bfs_mount和bfs_client等几个模块构成。 更新内容: Fix bug of checking lost block Use bind closure and other characters of C++11 Add some unit-test 下载地址: Source code (zip) Source code (tar.gz)...

17
63
发表了资讯
2016/10/26 00:00

BFS-Baidu v0.3.3 发布,百度文件系统

BFS-Baidu v0.3.3 发布了,BFS 是百度团队从百度搜索的业务特点出发,以高可靠、高可用、高吞吐、低延迟、水平扩展为目标,开发的分布式文件系统。主要由NameServer、MetaServer、ChunkServer、SDK、bfs_mount和bfs_client等几个模块构成。 更新内容: Merge pull request #534 from baidu/master Merge master 下载地址: Source code (zip) Source code (tar.gz)...

15
32
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2013/11/24 19:48

Nachos File System

Laboratory 4: Nachos File System 一:Objectives(实验目标) The purpose of this laboratory session is to study the functionality of the file system in Nachos. The file system in Nachos is designed to be small and simple so that you can read all its source code in a short period of time. Before starting to read the code, it is very useful to get an idea of what functionality the Nachos file system...

0
0
发表了博客
2012/12/10 19:18

Mount File System

1. file system can be available after mounting. I love u, WuHan. 2. Mount 2.1 mount /dev/sdb2 /mnt/ mount without any option will list all the mount file system -t filesystemTYPE -o optional,sepeatede by , ro/rw sync no cache when writing data to disk async default noatime do not update file access time atime remount 3.Umount 3.1 umount /dev/sdb3 & umount /mnt makes no difference. 3.2 fuser -m ...

0
0
发表了博客
2018/02/10 12:09

BerOS file system

The new operating system BerOS has a nice feature. It is possible to use any number of characters '/' as a delimiter in path instead of one traditional '/'. For example, strings //usr///local//nginx/sbin// and /usr/local/nginx///sbin are equivalent. The character '/' (or some sequence of such characters) at the end of the path is required only in case of the path to the root directory, which ca...

0
0
发表了博客
2013/01/28 15:08

System File Browser

利用 NSFileManager 查看本地所有文件。 Code4App编译测试,测试环境:Xcode 4.5, iOS 6.0。 转载:http://www.adobex.com/ios/source/details/00000520.htm

0
0
发表了博客
2018/12/24 10:55

【File System】Node.js中文件操作模块File System

File System的缩写是fs,管理文件及文件夹的模块,提供本地文件的读写能力。 var fs = require("fs"); 建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。 1.读文件 //同步 var res = fs.readFileSync("1.txt"); console.log(res.toString()); //异步 fs.readFile("2.txt",(error,res)=>{ if(error){ console.log("有错误出现了",error); } console.log(res.toString())...

0
0
发表了博客
2012/12/09 10:58

Linux File System

1. file system focus on files and data management. 2. create file system usually called formatting. 3. A device without file system called raw device 4. fat32,NTFS,ext2/3/4,HFS information of a file system: log, partition size, single file max size, performance. 5. create file system mke2fs -t type /dev/sdb3 -b blocksize 4k/size -c check bad -L label specify volumn -j build log file mkfs.[ext3|...

0
0
发表了博客
2016/09/13 23:18

1: Exploring The File System

1: Exploring The File System In this challenge, you'll practice the basics of the command line by working with files in the filesystem. Often times working in a command line environment is faster than using a GUI or writing a Python program just to accomplish a specific task. In this challenge, you'll be interacting with a directory of datasets that are used in other missions at Dataquest. To s...

0
0
发表了博客
2012/10/24 11:27

Read-only file system的错误

今天在公司发布新版本时,发布脚本突然报Read-only file system的错误,之前一直还用的好好的…登录到远程服务器上,发现只要涉及到修改/保存条目等需要写磁盘操作的命令都无法使用(如tar、cp、mv、rm、chmod、chown、wget下载等指令),总是提示Read-only file system,也就是说系统是只读的,什么也写不了。 查看了机器上的/etc/fstab文件,在其中发现这样的一样记录(注意errors=remount-ro段): 1 /dev/sda1 / ...

0
0
发表了博客
2012/05/24 12:51

Resource is out of sync with the file system:

在eclipse中,启动run on server时报错: Resource is out of sync with the file system: ........ 查阅资料后发现这是文件系统不同步的问题,是因为在eclipse之外对工程中的resource进行修改引起的;但是,有时没有在eclipse之外进行修改,也会报类似的错误。 解决办法:需要手动刷新一下资源管理器。 (1)在eclipse中,工程目录右键,选择F5(refresh) (2)设置eclipse自动刷新。 通过Window->Preferences --> General -...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/11/24 18:31

BFS适合存储文件的类型大小

Hi, 我想了解下该套系统的存储对象适合多少size?像TFS比较适合海量小文件,还是像HDFS适合大文件存储?

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
16 评论
230 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部