GlusterFS分布式文件系统的安装配置教程

GlusterFS分布式文件系统的安装配置教程,第1张

GlusterFS主要应用在集群系统中,具有很好的可扩展性。软件的结构设计良好,易于扩展和配置,通过各个模块的灵活搭配以得到针对性的解决方案。可解决以下问题:网络存储,联合存储(融合多个节点上的存储空间),冗余备份,大文件的负载均衡(分块)。

由于缺乏一些关键特性,可靠性也未经过长时间考验,还不适合应用于需要提供 24 小时不间断服务的产品环境。目前适合应用于大数据量的离线应用,下面一起来看GlusterFS分布式文件系统的安装配置

GlusterFS是一个开源的分布式文件系统,用户可以使用多台服务器,并通过以太网或者Infiniband RDMA互联从而组成一个GlusterFS的集群

GlusterFS集群对外提供NFS,CIFS和Gluster Native(通过FUSE进行挂载)的接口以便用户访问GlusterFS的存储池。

GlusterFS使用了弹性哈希算法来定位文件存储的位置。 由于使用了弹性哈希算法,GlusterFS不需要专门的Meta-Data Server来保存元数据,因此可以避免因为元数据服务器宕机导致的整个集群不可用。

也正是因为不需要元数据服务器,所以GlusterFS在多个挂载点同时进行数据读写的时候,其整体性能很突出。

fuse-293targz #依赖于fuse

glusterfs-360targz #本文用的版本

准备2台机器,系统为centos65 64位。

IP地址 主机名

1921680107 g1

1921680136 g2

首先关闭iptables和selinux。

修改主机名,并添加hosts映射:

g1:

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=g1

[root@localhost ~]# hostname

g1

[root@localhost ~]# cat /etc/hosts

127001 localhost localhostlocaldomain localhost4 localhost4localdomain4

::1 localhost localhostlocaldomain localhost6 localhost6localdomain6

1921680107 g1

1921680136 g2

g2:

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=g2

[root@localhost ~]# hostname

g2

[root@localhost ~]# cat /etc/hosts

127001 localhost localhostlocaldomain localhost4 localhost4localdomain4

::1 localhost localhostlocaldomain localhost6 localhost6localdomain6

1921680107 g1

1921680136 g2

安装预编译环境:

[root@localhost ~]# yum install -y gcc gcc-c++ flex flex-devel bison bison-devel openssl openssl-devel libxml2 libxml2-devel

安装fuse:

[root@localhost ~]# cd fuse-293

[root@localhost fuse-293]# /configure make make install

[root@localhost fuse-293]# cd

安装gluster:

[root@localhost ~]# cd glusterfs-360

[root@localhost glusterfs-360]# /configure --prefix=/usr/local/glusterfs make make install

g1和g2均执行上面操作。

g1和g2启动gluster:

[root@localhost ~]# service glusterd start

添加集群:

[root@localhost ~]# ln -s /usr/local/glusterfs/sbin/gluster /usr/bin/gluster #做一个软链接方便执行命令

[root@localhost ~]# gluster peer probe g2 #在g1中将g2加入到gluster集群中,本机(g1)不需要加入。

peer probe: success Probe on localhost not needed

查看集群信息:

[root@localhost ~]# gluster peer status

Number of Peers: 1

Hostname: g2

Uuid: c7aa664a-3161-4716-9f81-2dc4b4718fa1

State: Peer in Cluster (Connected) #已连接

剔除机器:

[root@localhost ~]# gluster peer detach g2

peer detach: success

创建卷:

[root@localhost ~]# gluster volume create test-volume replica 2 transport tcp g1:/data g2:/data force

volume create: test-volume: success: please start the volume to access data

test-volume 卷名 replica 副本数 transport 传输协议 g1:/data 服务器名及存储路径

启动卷:

[root@localhost ~]# gluster volume start test-volume

volume start: test-volume: success

查看卷:

[root@localhost ~]# gluster volume info

Volume Name: test-volume

Type: Replicate

Volume ID: 104d73c5-17f5-4150-a40d-b97cd78dd6bb

Status: Started

Number of Bricks: 1 x 2 = 2

Transport-type: tcp

Bricks:

Brick1: g1:/data

Brick2: g2:/data

客户端1挂载(同样安装fuse和glusterfs才能支持glusterfs文件系统):

[root@localhost ~]# mkdir /mnt/gfs

[root@localhost ~]# mount -t glusterfs g1:test-volume /mnt/gfs/

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 77G 37G 70G 6% /

tmpfs 499M 0 499M 0% /dev/shm

g1:test-volume 77G 38G 70G 6% /mnt/gfs

客户端2挂载:

[root@localhost ~]# mkdir /mnt/gfs

[root@localhost ~]# mount -t glusterfs g2:test-volume /mnt/gfs

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 77G 38G 70G 6% /

tmpfs 499M 0 499M 0% /dev/shm

g2:test-volume 77G 38G 70G 6% /mnt/gfs

可以看到g1和g2都支持挂载。

gluster支持的参

[root@localhost ~]# gluster help #查看参数

安装配置完成。

数据库与hadoop与分布式文件系统的区别和联系

1 用向外扩展代替向上扩展

扩展商用关系型数据库的代价是非常昂贵的。它们的设计更容易向上扩展。要运行一个更大

的数据库,就需要买一个更大的机器。事实上,往往会看到服务器厂商在市场上将其昂贵的高端机

标称为“数据库级的服务器”。不过有时可能需要处理更大的数据集,却找不到一个足够大的机器。

更重要的是,高端的机器对于许多应用并不经济。例如,性能4倍于标准PC的机器,其成本将大大

超过将同样的4台PC放在一个集群中。Hadoop的设计就是为了能够在商用PC集群上实现向外扩展

的架构。添加更多的资源,对于Hadoop集群就是增加更多的机器。一个Hadoop集群的标配是十至

数百台计算机。事实上,如果不是为了开发目的,没有理由在单个服务器上运行Hadoop。

2 用键/值对代替关系表

关系数据库的一个基本原则是让数据按某种模式存放在具有关系型数据结构的表中。虽然关

系模型具有大量形式化的属性,但是许多当前的应用所处理的数据类型并不能很好地适合这个模

型。文本、和XML文件是最典型的例子。此外,大型数据集往往是非结构化或半结构化的。

Hadoop使用键/值对作为基本数据单元,可足够灵活地处理较少结构化的数据类型。在hadoop中,

数据的来源可以有任何形式,但最终会转化为键/值对以供处理。

3 用函数式编程(MapReduce)代替声明式查询(SQL )

SQL 从根本上说是一个高级声明式语言。查询数据的手段是,声明想要的查询结果并让数据库引擎

判定如何获取数据。在MapReduce中,实际的数据处理步骤是由你指定的,它很类似于SQL

引擎的一个执行计划。SQL 使用查询语句,而MapReduce则使用脚本和代码。利用MapReduce可

以用比SQL 查询更为一般化的数据处理方式。例如,你可以建立复杂的数据统计模型,或者改变

图像数据的格式。而SQL 就不能很好地适应这些任务。

4

分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,

可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元

组的schema,存入取出删除的粒度较小。

分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。

分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部

实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。

共享文件与分布式文件系统的区别

分布式文件系统(Distributed File System,DFS)

如果局域网中有多台服务器,并且共享文件夹也分布在不同的服务器上,这就不利于管理员的管理和用户的访问。而使用分布式文件系统,系统管理员就可以把不同服务器上的共享文件夹组织在一起,构建成一个目录树。这在用户看来,所有共享文件仅存储在一个地点,只需访问一个共享的DFS根目录,就能够访问分布在网络上的文件或文件夹,而不必知道这些文件的实际物理位置。

ftp server和分布式文件系统的区别

换个思路,使用mount --bind把目录加载过来就可以了 先将数据盘挂载 mount /dev/sdb1 /mnt/d 在ftp目录下建一个文件夹data mount --bind /mnt/d data

FTP server和分布式文件系统的区别, 分布式文件系统和分布式数据库有什么不同

分布式文件系统(dfs)和分布式数据库都支持存入,取出和删除。但是分布式文件系统比较暴力,可以当做key/value的存取。分布式数据库涉及精炼的数据,传统的分布式关系型数据库会定义数据元组的schema,存入取出删除的粒度较小。

分布式文件系统现在比较出名的有GFS(未开源),HDFS(Hadoop distributed file system)。分布式数据库现在出名的有Hbase,oceanbase。其中Hbase是基于HDFS,而oceanbase是自己内部实现的分布式文件系统,在此也可以说分布式数据库以分布式文件系统做基础存储。

hadoop是分布式文件系统吗

是的

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统。

1分布式文件系统

多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统。

分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储。换句话说,它们是横跨在多台计算机上的存储系统。存储在分布式文件系统上的数据自动分布在不同的节点上。

分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理来自网络和其它地方的超大规模数据提供所需的扩展能力。

2分离元数据和数据:NameNode和DataNode

存储到文件系统中的每个文件都有相关联的元数据。元数据包括了文件名、i节点(inode)数、数据块位置等,而数据则是文件的实际内容。

在传统的文件系统里,因为文件系统不会跨越多台机器,元数据和数据存储在同一台机器上。

为了构建一个分布式文件系统,让客户端在这种系统中使用简单,并且不需要知道其他客户端的活动,那幺元数据需要在客户端以外维护。HDFS的设计理念是拿出一台或多台机器来保存元数据,并让剩下的机器来保存文件的内容。

NameNode和DataNode是HDFS的两个主要组件。其中,元数据存储在NameNode上,而数据存储在DataNode的集群上。NameNode不仅要管理存储在HDFS上内容的元数据,而且要记录一些事情,比如哪些节点是集群的一部分,某个文件有几份副本等。它还要决定当集群的节点宕机或者数据副本丢失的时候系统需要做什么。

存储在HDFS上的每份数据片有多份副本(replica)保存在不同的服务器上。在本质上,NameNode是HDFS的Master(主服务器),DataNode是Slave(从服务器)。

文件系统与数据库系统的区别和联系

其区别在于:

(1)

文件系统用文件将数据长期保存在外存上,数

据库系统用数据库统一存储数据。

(2)

文件系统中的程序和数据有一

定的联系,数据库系统中的程序和数据分离。

(3)

文件系统用操作系

统中的存取方法对数据进行管理,数据库系统用

DBMS

统一管理和控

制数据。

(4)

文件系统实现以文件为单位的数据共享,数据库系统实

现以记录和字段为单位的数据共享。

其联系在于:

(1)

均为数据组织的管理技术。

(2)

均由数据管理软

件管理数据,程序与数据之间用存取方法进行转换。

(3)

数据库系统

是在文件系统的基础上发展而来的。

数据库系统和文件系统的区别与联系

文件系统和数据库系统之间的区别:

(1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;

(2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;

(3) 文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;

(4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。

文件系统和数据库系统之间的联系:

(1) 均为数据组织的管理技术;

(2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;

(3) 数据库系统是在文件系统的基础上发展而来的。

什么是Hadoop分布式文件系统

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。

Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统,与MapReduce和Google档案系统的概念类似。

HDFS(Hadoop 分布式文件系统)是其中的一部分。

分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

分布式和集中式存储

集中存储的优缺点是,物理介质集中布放;视频流上传到中心对机房环境要求高,要求机房空间大,承重、空调等都是需要考虑的问题。

分布存储,集中管理的优缺点是,物理介质分布到不同的地理位置;视频流就近上传,对骨干网带宽没有什么要求;可采用多套低端的小容量的存储设备分布部署,设备价格和维护成本较低;小容量设备分布部署,对机房环境要求低。

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » GlusterFS分布式文件系统的安装配置教程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情