在阅读本篇文章之前,你最好对FastDFS有一个初步的了解,我建议可以看看下面的链接文章中的介绍(当然如果你已经很熟悉了的话就不用看了。):

http://www.jb51.cc/article/p-phkizxoo-xw.html

第一步,确定机子:

Tracker 192.168.224.20:22122 CentOS

Group2-Storage21 192.168.224.28:23001 CentOS

Group2-Storage22 192.168.224.29:23001 CentOS

以上为参考ip;实际两台机器即可,如下图:

第二步,确定安装版本:

安装包下载地址:

https://yunpan.cn/cvtpZCHcLCKJ3 访问密码 710f

第三步,安装虚拟机环境:

如果没有搭建过虚拟机环境,那么请另外联系我。

或者参考网上两篇博客http://www.cnblogs.com/PurpleDream/p/4263465.html和http://www.cnblogs.com/PurpleDream/p/4263421.html,

主要讲解了如何安装一个CentOS6.5的虚拟机以及如何配置虚拟机的网络,还有如何根据已有的虚拟机,克隆多台虚拟机。直接网上找资料;

第四步,文件夹初始化:

按照我们第一步确认的目标,我们可以现在自由选择一个路径,创建一些文件夹目录,这些目录后边会在配置tracker和storage的过程中被用到。我在用虚拟机创建的时候,是在/opt这个目录下面创建相关的文件夹,详细如下,仅供参考:

1. 配置tracker所需的base_path: /opt/fastdfs_tracker。

2. 配置storage所需的日志目录: /opt/fastdfs_storage_info。 备注: 这个目录是用来存储storage之间同步文件等日志的

3. 配置storage所需的存储文件目录: /opt/fastdfs_storage_data。备注: 这个目录是用来存储文件的

其实,我们在使用过程中并不是每个物理机上都会同时部署tracker和storage,那么根据自己的实际情况,如果只部署storage,则就创建storage的那两个文件夹;反之则只创建tracker的那个文件夹。后边在解释配置文件如何配置的过程中我将会按照上边的目录路径做配置,大家可以比对着看每个路径对应哪个配置。

第五步,安装libfastcommon-1.0.7.zip:

在安装libfastcommon的过程中,涉及了解压缩、make安装等过程,第一次安装的时候,可能由于环境的原因,会提示比如没有安装unzip、zip;没有安装perl;没有安装gcc等,逐一安装即可。

1. 利用unzip解压缩,如果提示没有安装 ,则按照下图中的命令安装即可:

2. 如果新环境没有安装c支持的,需要先安装gcc和perl(如果已经安装,请忽略这里):

a. 执行 yum -y install gcc 和 yum -y install gcc-c++ 这了两个命令安装

b. 安装perl时,我们可以直接用wget命令安装,我这里安装的版本是perl-5.20.2。

可以参考这篇文章安装perlhttp://blog.sina.com.cn/s/blog_68158ebf0100ndes.html

wgethttp://www.cpan.org/src/5.0/perl-5.20.2.tar.gz

tar zxvf perl-5.20.2.tar.gz

mkdir /usr/local/perl

./Configure -des -Dprefix=/usr/local/perl -Dusethreads-Uversiononly

make

make install

perl -version

3. 解压完成后,进入文件夹,会看到make.sh文件,执行./make.sh命令,可能会报没有安装gcc和perl的错误,出错重回第二步,截图如下:

4. 安装完perl后,重新依次执行 ./make.sh 和 ./make.sh install 这两个命令,完成libfastcommon的安装。

5. 注意,上述安装的路径在/usr/lib64/,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软连接如下:

ln -s /usr/lib64/libfastcommon.so/usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so/usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so/usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so/usr/lib/libfdfsclient.so

第六步,安装fastdfs-5.05.tar.gz:

前 边几步如果安装的都正确的话,这一步就比较简单了,解压缩fastdfs-5.05.tar.gz(命令:tar -zxvf fastdfs-5.05.tar.gz),然后依次执行 ./make.sh 和 ./make.sh install 这两个命令,过程中没有报错,并且打开 /etc/fdfs 这个目录发现有配置文件存在,就说明安装成功了。

第七步,配置tracker:

前 边的这六步无论是配置tracker还是配置storage都是必须的,而tracker和storage的区别主要是在安装完fastdfs之后的配置 过程中。我们在第一步确认目标时,计划在192.168.224.20这台虚拟机上配置tracker,所以我们就在这台机器上演示。

1. 进入/etc/fdfs文件夹,执行命令: cp tracker.conf.sample tracker.conf。

2. 编辑tracker.conf,执行命令: vi tracker.conf ,将以下几个选项进行编辑:

a.disabled=false #启用配置文件

b. port=22122 #设置tracker的端口号,一般采用22122这个默认端口

c. base_path=/opt/fastdfs_tracker #设置tracker的数据文件和日志目录(预先创建)

d. http.server_port=8080 #设置http端口号 注意,这个配置在fastdfs5.05这个版本中已经不用配置,不用管这个!(centos 7中还是需要配置。最好看下,保证无误)

3. 启动tracker,执行如下命令:/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

注意,一般fdfs_trackerd等命令在/usr/local/bin中没有,而是在/usr/bin路径下,所以命令修改如下:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

4. 启动完毕后,可以通过以下两个方法查看tracker是否启动成功:

a. netstat -unltp|grep fdfs,查看22122端口监听情况

b. 通过以下命令查看tracker的启动日志,看是否有错误: tail -f /opt/fastdfs_tracker/logs/trackerd.log

5. 如果启动没有问题,可以通过以下步骤,将tracker的启动添加到服务器的开机启动中:

a. 打开文件 vi /etc/rc.d/rc.local

b. 将如下命令添加到该文件中/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

第八步,配置storage:

其实配置storage和配置tracker类似,只不过配置文件和配置内容不一样。我们以配置192.168.224.29配置storage为例。

1. 进入/etc/fdfs文件夹,执行命令: cp storage.conf.sample storage.conf。

2. 编辑storage.conf,执行命令: vi storage.conf ,将以下几个选项进行编辑:

a. disabled=false #启用配置文件

b. group_name=group2 #组名,根据实际情况修改

c. port=23001 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致

d. base_path=/opt/fastdfs_storage_info #设置storage的日志目录(需预先创建)

e. store_path_count=1 #存储路径个数,需要和store_path个数匹配

f. store_path0=/opt/fastdfs_storage_data #存储路径

g. tracker_server=192.168.224.20:22122 #tracker服务器的IP地址和端口号

h. http.server_port=8080 #设置http端口号 注意,这个配置在fastdfs5.05这个版本中已经不用配置,不用管这个!(同tracker,最好检查一下)

3. 启动storage,执行如下命令:/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart

注意,一般fdfs_storage等命令在/usr/local/bin中没有,而是在/usr/bin路径下,所以命令修改如下:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

4. 启动完毕后,可以通过以下两个方法查看storage是否启动成功:

a. netstat -unltp|grep fdfs,查看23001端口监听情况

b. 通过以下命令查看storage的启动日志,看是否有错误: tail -f /opt/fastdfs_storage_info/logs/storaged.log

5. 启动成功后,可以通过fdfs_monitor查看集群的情况,即storage是否已经注册到tracker服务器中

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

查看192.168.224.29:23001 是ACTIVE状态即可

6. 如果启动没有问题,可以通过以下步骤,将storage的启动添加到服务器的开机启动中:

a. 打开文件 vi /etc/rc.d/rc.local

b. 将如下命令添加到该文件中/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

以上都没有错的话,那么就恭喜你已经配置成功嘞。

测试源码链接:https://git.oschina.net/keeplearning996/springboot-fastdfs.git

简单使用:

http://localhost:8080/fastdfs

上传成功返回:

附:本文为个人重新整理文档。

参考原文链接:http://www.open-open.com/lib/view/open1435468300700.html

福利spring boot简单入门:https://my.oschina.net/xwzj/blog/752848

CentOS环境搭建FastDFS-5.0.5集群的更多相关文章

  1. XCode 5远程调试OS X应用程序

    我正在使用XCode5.0.2在OSX10.9上开发一个应用程序并获得了一个我无法在这台开发机器上重现的错误报告.但是,我有一个10.7虚拟机出现崩溃,所以我想调试那里没有在这个VM中安装XCode.我搜索了有关远程调试的信息,但我没有得到有用的答案.我甚至担心它根本不受支持.但无论如何我还是要问一下.或者,除了执行完整的XCode安装等之外,还有哪些其他选项来调试这样的问题?

  2. OpenStack对象存储――Swift

    Swift前身是RackspaceCloudFiles项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。Swift目前的最新版本是OpenStackEssex1.5.1。Swift特性在OpenStack官网中,列举了Swift的20多个特性,其中最引人关注的是以下几点。在OpenStack中还可以与镜像服务Glance结合,为其存储镜像文件。Auth认证服务目前已从Swift中剥离出来,使用OpenStack的认证服务Keysto

  3. 对象存储系统Swift技术详解:综述与概念

    通过阅读Swift的技术文档,我们可以理解其中的设计的原理和实现的方法。本人于9月底开始接触swift,刚开始看文档的时候一知半解,有幸阅读了zzcase等人的博客,才得以入门。随着对swift设计原理的理解和源码的深入,文档经过数次反复的修改,希望对各位学习swift的童鞋有所帮助,水平有限,若各位发现有错误之处,恳请指出。

  4. cinder swift的区别

    [原]OpenStack入门以及一些资料之2014-4-29阅读1144评论0注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明。它拥有自己的文件系统,通过网络文件系统NFS或通用文件系统CIFS对外提供文件访问服务。Raid,不同的raid等级在增加数据可靠性以及增加存储器(群)读写性能间取得平衡。卷组描述区域,和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。

  5. 《转》OpenStack对象存储——Swift

    Swift前身是RackspaceCloudFiles项目,随着Rackspace加入到OpenStack社区,于2010年7月贡献给OpenStack,作为该开源项目的一部分。Swift目前的最新版本是OpenStackEssex1.5.1。Swift特性在OpenStack官网中,列举了Swift的20多个特性,其中最引人关注的是以下几点。在OpenStack中还可以与镜像服务Glance结合,为其存储镜像文件。Auth认证服务目前已从Swift中剥离出来,使用OpenStack的认证服务Keysto

  6. OpenStack中Swift和cinder区别

    swift是objectstorage,将object存储到bucket里,你可以用swift创建container,然后上传文件,例如视频,照片,这些文件会被replication到不同服务器上以保证可靠性,swift可以不依靠虚拟机工作。如果你把这个虚拟机terminate了,这个volume和里边的数据依然还在,你还可以把它接到其他虚拟机上继续使用里边的数据。cinder创建的volume必须被接到虚拟机上才能工作。

  7. Swift属性观察者在协议扩展?

    换句话说,我可以观察协议扩展中的属性的更改吗?这并不意味着它是不可能实现的,但如果我们有这样的话可能会有点令人惊讶.

  8. 解决Swift 3中缺少递归协议约束的问题

    Swift3目前对“递归协议约束”有一个限制.有一个公开的问题here,在here,here和here有类似的讨论.但是,我仍然没有看到应该如何解决这个限制.可能吗?或者我需要开始引入较不严格的协议,直到在Swift中实现?会出现.然而,通过这种方法,我们可以得到正确的类型,而无需做很多专业化.当然,可以添加更多的协议来获得更多的抽象,但同样的解决方案将会适用.由于某些原因/语言缺陷,您必须在View.foo中分配委托时使用显式转换:viewmodel.delegate=selfas?

  9. android和ios有多少端口号?

    我试过谷歌,但甚至看不到关于这个的帖子.当我想在android中创建socket时,我们在PC中创建套接字的规则是否同样适用于android?程序在一个端口侦听并等待创建套接字?解决方法你有一个ServerSocket和一个Socket.调用Socketclient=ss.accept()等到客户端挂钩.如果您不确定哪个端口是空闲的,只需使用ss=newServerSocket().这将自动分配一个空闲端口.另外,请确保不要在主线程上执行此操作,并在清单中声明相应的权限.

  10. Android VM不允许我们分配xx字节

    我正在开发一款安卓游戏.当我尝试使用3张图像作为背景时问题就出现了.图像为1280x720px和100kb大.图像真的不是那么大,所以我有点困惑,为什么它们应该导致内存问题.注意:屏幕分辨率为800×400,因此我无法通过因子2调整图像大小,因为它是suggestedonandroiddeveloper注意:我正在使用HTC欲望手机(这里崩溃来了),我也尝试过在三星galaxyS1和三星上运行正常

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部