linux下常用的分布式文件系统有哪些

linux下常用的分布式文件系统有哪些,第1张

常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。

GFS(Google File System)

--------------------------------------

Google公司为了满足本公司需求而开发的基于Linux的专有分布式文件系统。。尽管Google公布了该系统的一些技术细节,但Google并没有将该系统的软件部分作为开源软件发布。

下面分布式文件系统都是类 GFS的产品。

HDFS

--------------------------------------

Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。 Hadoop是Apache Lucene创始人Doug Cutting开发的使用广泛的文本搜索库。它起源于Apache Nutch,后者是一个开源的网络搜索引擎,本身也是Luene项目的一部分。Aapche Hadoop架构是MapReduce算法的一种开源应用,是Google开创其帝国的重要基石。

Ceph

---------------------------------------

是加州大学圣克鲁兹分校的Sage weil攻读博士时开发的分布式文件系统。并使用Ceph完成了他的论文。

说 ceph 性能最高,C++编写的代码,支持Fuse,并且没有单点故障依赖, 于是下载安装, 由于 ceph 使用 btrfs 文件系统, 而btrfs 文件系统需要 Linux 2.6.34 以上的内核才支持。

可是ceph太不成熟了,它基于的btrfs本身就不成熟,它的官方网站上也明确指出不要把ceph用在生产环境中。

Lustre

---------------------------------------

Lustre是一个大规模的、安全可靠的,具备高可用性的集群文件系统,它是由SUN公司开发和维护的。

该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10000个节点,数以PB的数据量存储系统。

目前Lustre已经运用在一些领域,例如HP SFS产品等。

在Linux开发环境下,GCC是进行C程序开发不可缺少的编译工具。GCC是GNU C Compile的缩写,是GNU/Linux系统下的标准C编译器。虽然GCC没有集成的开发环境,但堪称是目前效率很高的C/C++编译器。《linux就该这么学》非常值得您一看。Linux平台下C程序开发步骤如下:

1.利用编辑器把程序的源代码编写到一个文本文件中。

比如编辑test.c程序内容如下:

/*这是一个测试程序*/

#include<stdio.h>

int main(void)

{

printf("Hello Linux!")

}

2.用C编译器GCC编译连接,生成可执行文件。

$gcc test.c

编译完成后,GCC会创建一个名为a.out的文件。如果想要指定输出文件,可以使用选项-o,命令如下所示:

$gcc-o test1 test.c

这时可执行文件名就变为test1,而不是a.out。

3.用C调试器调试程序。

4.运行该可执行文件。 在此例中运行的文件是:

$./a.out 或者 test1

结果将得出:

Hello Linux!

除了编译器外,Linux还提供了调试工具GDB和程序自动维护工具Make等支持C语言编程的辅助工具。如果想要了解GCC的所有使用说明,使用以下命令:

$man gcc

Linux下面开发C程序的过程大致为:编辑源文件--调试--编写makefile文件--编译及安装(发布的话打包源码发布或者打包rpm、deb发布)。

(1)编辑源文件的方式有很多种,厉害的可以使用vim,配合插件,据说很牛,我只会基本 *** 作,i,wq之类的。推荐学一下vim,学会了很厉害,学不会也最起码保证打开文件,编辑文件,保存文件没问题。有小改动的时候,我会使用vim。

或者使用windows下面的notepad,有大改动的时候我会配合smb使用notepad。

再或者在ubuntu下面安装eclipse,进行文件编辑,对于熟悉eclipse是不错的选择。

(2)调试:

小型的程序,gdb就行

大点的程序,找IDE吧,比如eclipse

(3)对于makefile文件,小型的程序可以自己编写,大点的使用autotool工具生成,至于autotool工具如何使用,请自行上网搜。

使用eclipse的话,配置好之后进行编译。

(4)安装问题:有makefile的话,linux安装程序的经典步骤 configure,make,make install即可。

如果不是很大型的话,把自己的代码放在/usr/local软件名/下面,需要的库放在系统库路径下,或者把运行路径添加到环境变量中。也能运行。

(5)发布的时候

打包源码发布,.tar.gz

打包成rpm、deb包,自行搜索教程。

我也在摸索中,分享一下经验,仅供参考,如有出错,还请见谅。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8703774.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存