Redhat5.4 系统上部署 MooseFS分布式文件系统的部署

简介:

 第一,               分布式文件系统的介绍

分布式文件系统有数十种方案可供选择。如:ustre hadoopPnfs 等。还有下面要实现的moosfes moosfes 文件系统具有以下几个优点

   1 实施简单。 MFS(即是moosfes) 的部署,配置相对于其他类型的分布式文件系统来数,相对简单。

  2  在不停止服务时,就能对该文件系统进行扩容。 MFS 框架做好后,随时就可以可以对服务器进行扩充容量;在进行扩充   减少容量的同时都不会对现有服务造成影响。注: hadoop 也具有该功能

  3 容易恢复。

  4 高可靠性,将数据分成几个副本存储在不同的计算机中;通过增加计算机或者增加硬盘,动态的扩充可用磁盘空间; 可以设置删除文件的空间回收时间; 同时也能为文件创建快照

 6 mfs 文件系统的组成

     1,原数据服务器。负责管理文件系统

     2 数据服务器,即是chunkserver 。真正存储用户的数据服务器。存储文件时,首先把文件分成数据块,然后这些数据块存在数据服务器chunkserver之间复制。数据服务器可以死多个,并将数据服务器的数量越多,可使用的“磁盘空间”越大,同时可靠性也就越高

      3,客户端。使用MFS文件系统来存储和访问的主机称为mfs 的客户端,成功挂接MFS文件系统后,就可以共享该虚拟性的存储

7 MooseFS(即是mfs 架构(如下图)

        mfs 包括四种类型的机器

l   Mangaging Server master server

l   Data servers chunk servers

l   Metadata backup servers (metalogger server)

l   Client

          

 



 


 

第二.Master server(元数据服务器的安装

首先创建用户mfs

  #useradd –s /sbin/nologin  mfs

配置安装数据源服务器

    #tar  -xvf   mfs-1.6.17.tar.gz

    # cd mfs-1.6.17

    # ./configure  --prefix=/usr/local/mfs  --disable-mfschunkserver  --disable-mfsmount –with-default-user=mfs  --with-default-group=mfs 

    #make  && make install

配置数据服务器的相关配置文件

     #cd /usr/local/mfs/etc

     #cp   mfsexports.cfg.dist    mfsexports.cfg

     #cp   mfsmaster.cfg.dist     mfsmaster.cfg

     #cd  /usr/local/mfs/var/mfs

     #cp  metadata.mfs.empty  metadata.mfs

   4 修改mfsexports.cfg  mfsmaster.cfg

     IP      /    rw,alldirs,maproot=0

     注:IP 是允许 挂载的主机,该处可以是域名,主机名,IP地址

         #vim  mfsmaster.cfg

          mfsmaster.cfg 每行都是被注释掉了,但是都是配置文件的默认值。

Ø  LOCK_FILE=/var/run/mfs/mfsmaster.lock 

       注:文件锁在的位置,该文件主要是避免多次启动同一个守护进程。

Ø  DATA_PATH=/user/local/mfs/var/mfs 数据存储路径,只是元数据的存放路径,

Ø  MATOCS_LISTEN_PORT = 9420  即元数据服务使用9420 这个端口来接受数据储存服务器chunkserver端的连接

Ø  MATOCU_LISTEN_PORT = 9421  元数据服务器在9421 端口监听,用用以接受客户端对于MFS进行远程挂接(客户端以mfsmount 挂接MFS

        5 启动元数据服务器master

                    #/usr/local/mfs/sbin/mfsmaster  start

                             working directory: /usr/local/mfs/var/mfs

lockfile created and locked

initializing mfsmaster modules ...

loading sessions ... ok

sessions file has been loaded

exports file has been loaded

loading metadata ...

loading objects (files,directories,etc.) ... ok

loading names ... ok

loading deletion timestamps ... ok

checking filesystem consistency ... ok

loading chunks data ... ok

connecting files and chunks ... ok

all inodes: 6

directory inodes: 2

                             file inodes: 4

chunks: 46

metadata file has been loaded

stats file has been loaded

master <-> metaloggers module: listen on *:9419

master <-> chunkservers module: listen on *:9420

main master server module: listen on *:9421

mfsmaster daemon initialized properly

 

 

   6 关闭原数据服务器master 

 

       在关闭元数据服务器master 务必使用/usr/local/mfs/sbin/mfsmaster –s

 

 

       如果直接使用kill 杀死进程,导致下次启动时出现找不到相关文件,而不能正常启动服务器。 如果使用kill 杀死进程,时出现上面的问题时,可以通过mfsmetastore 来恢复

第三,安装数据 储存服务器 chunkserver

1         解压mfs

#tar  -xvf  mfs-1.6.17.tar.gz

#cd  mfs-1.6.17

2         创建mfs 用户

   #useradd  -s /sbin/nologin mfs

3         配置安装mfs

  #  ./configure –prefix=/usr/local/mfs   --disable-mfsmaster –disable-mfsmount –with-default-user=mfs  --with-default-group=mfs

  #make  && make install

4         修改相关的配置文件

   #cd  /usr/local/mfs/etc

   #cp   mfschunkserver.cfg.dist   mfschunkserver.cfg

   #cp  mfshdd.cfg.dist     mfsshdd.cfg

   #vim  mfschunkserver.cfg

        取消下列注释

      MASTER_HOST= 192.168.2.1

        注: 该处的ip地址为元数据服务器的IP地址,此处可以设置元数据服务器的域名等

   LOCK_FILE=/var/run/mfs/mfschunkserver.lock  

                        注:文件锁在的位置,该文件主要是避免多次启动同一个守护进程

         CSSERV_LISTEN_PORT=9422 该端口用于与其他数据储存服务器间的连接,通常是数据复制 

 

             HDD_CONF_FILENAME=/usr/local/mfs/etc/mfshdd.cfg

                注: 分配给MFS使用的磁盘空间配置文件的位置

 

5         修改配置文件mfshdd.cfg 服务分区挂接点 /data ,并修改属主

#chown  -R mfs:mfs  /data

 注:mfshdd.cfg 文件存的是用来给MooseFs 使用的空间,如果是单个chunkserver的储存空间最好大于2g,否则无法写入空间

6         启动数据储存服务器chunkserver

#/usr/local/mfs/sbin/mfschunkserver  start

 working directory: /usr/local/mfs/var/mfs

lockfile created and locked

initializing mfschunkserver modules ...

hdd space manager: scanning folder /mnt/data/ ...

hdd space manager: /mnt/data/: 46 chunks found

hdd space manager: scanning complete

main server module: listen on *:9422

stats file has been loaded

mfschunkserver daemon initialized properly

7         数据储存服务器chunkserver 监听的端口为9422 ,同样关闭数据储存服务器时同样和元数据服务器的方法类似

#/usr/local/mfs/sbin/mfschunkserver –s

第四,安装元数据日志服务器 mfsmetalogger

      1 创建mfs 用户

         #useradd  -s /sbin/nologin  mfs

      2 安装元数据日志服务器

          # tar –xvf  mfs-1.6.17.tar.gz

          #cd mfs-1.6.17

          # ./configure  --prefix=/usr/local/mfs   --disable-mfschunkserver  --disable-mfsmount  --with-default-user=mfs   --with-default-group=mfs  

          # make  && make install

       3 修改相关配置

          #cd  /usr/local/mfs/etc

           #cp  mfsmetalogger.cfg.dist  mfsmetalogger.cfg

            #vim mfsmetalogger.cfg

             并把修改下面的选项

                MASTER_HOST = mfsmaster 

                 MASTER_HOST = 192.168.2.1 此地址为mfsmaster ip地址

                并保存

                back_logs =50 

               META_DOWNLOAD_FREQ=24 注:元数据备份文件下载请求频率,默认为24 小时,即每个一天重元数据服务器 (master) 下载一个metadata.mfs.back 文件。但元数据服务器关闭或者故障时,matedata.mfs.back文件将消失,如果要回复整个 mfs。则需要从metalogger服务器取得该文件。该文件与日志文件在一起时,才能恢复整个被损坏的分布式文件系统

     4 启动元数据日志服务器

        #/usr/local/sbin/mfsmetalogger start

          working directory: /usr/local/mfs/var/mfs

lockfile created and locked

initializing mfsmetalogger modules ...

mfsmetalogger daemon initialized properly

 注: metalogger 连接的master9419 端口   

第五.MFS客户端的安装 

 

   1 创建,mfs 用户

 

    #useradd  -s /sbin/nologin mfs

  2 解压安装fuse 

      # tar –xvf fuse-2.8.5.tar.gz

      #cd fuse-2.8.5

      #./configure  -prefix=/usr/local/fuse

      #make && make install

设置fuse 的环境

   #vim  /etc/profile 并在其尾部添加如下配置

     export PKG_CONFIG_PATH=/usr/local/fuse/lib/pkgconfig:$PKG_CONFIG_PATH

      保存并执行

     #source  /etc/profile

4解压,安装mfs客户端

     #tar –xvf  mfs-1.6.17.tar.gz

     #cd  mfs-1.6.17

     #./configure  --prefix=/user/local/mfs   --disable-mfsmaster –disable-mfschunkserver –enable-mfsmount  --with-default-user=mfs  --with-default-group=mfs

     #make  && make install

挂载MooseFs

    #mkdir  /mnt/mfs

  #/usr/local/mfs/bin/mfsmount –H  192.168.2.1 /mnt/mfs

mfsmaster accepted connection with parameters:read-write,restricted_ip;root mapped to root:root










本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/411552,如需转载请自行联系原作者
目录
相关文章
|
4天前
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。
|
7天前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
34 7
|
1月前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
84 4
|
2月前
|
存储 运维 负载均衡
构建高可用性GraphRAG系统:分布式部署与容错机制
【10月更文挑战第28天】作为一名数据科学家和系统架构师,我在构建和维护大规模分布式系统方面有着丰富的经验。最近,我负责了一个基于GraphRAG(Graph Retrieval-Augmented Generation)模型的项目,该模型用于构建一个高可用性的问答系统。在这个过程中,我深刻体会到分布式部署和容错机制的重要性。本文将详细介绍如何在生产环境中构建一个高可用性的GraphRAG系统,包括分布式部署方案、负载均衡、故障检测与恢复机制等方面的内容。
161 4
构建高可用性GraphRAG系统:分布式部署与容错机制
|
2月前
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】分布式通信与 NVLink
进入大模型时代后,AI的核心转向大模型发展,训练这类模型需克服大量GPU资源及长时间的需求。面对单个GPU内存限制,跨多个GPU的分布式训练成为必要,这涉及到分布式通信和NVLink技术的应用。分布式通信允许多个节点协作完成任务,而NVLink则是一种高速、低延迟的通信技术,用于连接GPU或GPU与其它设备,以实现高性能计算。随着大模型的参数、数据规模扩大及算力需求增长,分布式并行策略,如数据并行和模型并行,变得至关重要。这些策略通过将模型或数据分割在多个GPU上处理,提高了训练效率。此外,NVLink和NVSwitch技术的持续演进,为GPU间的高效通信提供了更强的支持,推动了大模型训练的快
56 0
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
97 2
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
69 3
|
3月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
82 3
|
3月前
|
消息中间件 存储 监控
消息队列系统中的确认机制在分布式系统中如何实现
消息队列系统中的确认机制在分布式系统中如何实现
|
3月前
|
消息中间件 存储 监控
【10月更文挑战第2天】消息队列系统中的确认机制在分布式系统中如何实现
【10月更文挑战第2天】消息队列系统中的确认机制在分布式系统中如何实现