Cluster基础(五):配置tracker、配置storage、文件测试及web访问
一、配置tracker
目标:
FastDFS是一个分布式文件系统,主要的服务器角色有Tracker和Storage。本例安装一台Tracker,实现以下功能:
- 接受客户端的访问
- 检索存储节点,为客户端提供一台可用的storage
方案:
准备一台虚拟机,安装FastDFS Tracker。
主机的主机名及对应的IP地址如下表所示。
步骤:
1)配置yum源,并安装所需的软件包。
[root@fdfs_tracker1 ~]# yum install -y gcc libevent make
[root@fdfs_tracker1 ~]# yum install -y libevent-devel-*.rpm
2)解压缩FastDFS安装包,查看安装说明文档进行安装。
[root@fdfs_tracker1 fdfs]# tar xzf FastDFS_v4.06.tar.gz
[root@fdfs_tracker1 fdfs]# cd FastDFS
[root@fdfs_tracker1 FastDFS]# vim INSTALL
[root@fdfs_tracker1 fdfs]# ./make.sh
[root@fdfs_tracker1 fdfs]# ./make.sh install
[root@fdfs_tracker1 FastDFS]# vim INSTALL
[root@fdfs_tracker1 FastDFS]# cp init.d/fdfs_trackerd /etc/init.d/
3)创建存储目录(存储日志等)。
[root@fdfs_tracker1 FastDFS]# mkdir -pv /data/fastdfs
4)修改配置文件。
[root@fdfs_tracker1 FastDFS]# vim /etc/fdfs/tracker.conf
base_path=/data/fastdfs/ # 设置基础目录
max_connections=4096 # 设置最大连接数
store_group=group1 # 设置存储组名
use_storage_id = true # 使用stroage_id代替ip地址
5)创建storage_id文件。
[root@fdfs_tracker1 FastDFS]# cp conf/storage_ids.conf /etc/fdfs/
6)编辑storage id文件,加入存储组声明。
[root@fdfs_tracker1 FastDFS]# vim /etc/fdfs/storage_ids.conf
100001 group1 192.168.113.60
7)修改客户端配置文件。
[root@fdfs_tracker1 FastDFS]# vim /etc/fdfs/client.conf
base_path=/data/fastdfs
tracker_server=192.168.113.50:22122
8)控制tracker启动。
[root@fdfs_tracker1 FastDFS]# /etc/init.d/fdfs_trackerd
用法:/etc/init.d/fdfs_trackerd {start|stop|status|restart|condrestart}
9)查看tracker运行状态。
[root@fdfs_tracker1 FastDFS]# /etc/init.d/fdfs_trackerd status
fdfs_trackerd (pid 28928) 正在运行...
[root@fdfs_tracker1 FastDFS]# netstat -tlnp | grep tracker
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 28928/fdfs_trackerd
二、配置storage
目标:
安装FastDFS Storage存储节点,存储节点被划分到相应的组里。同一个组中的服务器保存完全相同的内容, 不同分组存不同的内容。存储节点具有以下功能:
- 接受Tracker的调度
- 响应客户端请求
- 将客户端发来的文件存储至相应存储位置
- 读取请求的文件,发送给客户端
方案:
准备一台虚拟机,安装FastDFS Tracker。
主机的主机名及对应的IP地址如下表所示。
步骤:
1)配置yum源,并安装所需的软件包。
[root@fdfs_storage1 ~]# yum install -y gcc libevent make
[root@fdfs_storage1 ~]# yum install -y libevent-devel-*.rpm
2)解压缩、查看安装指南进行安装
[root@fdfs_storage1 fdfs]# tar xzf FastDFS_v4.06.tar.gz
[root@fdfs_storage1 fdfs]# cd FastDFS
[root@fdfs_storage1 FastDFS]# vim INSTALL
[root@fdfs_storage1 fdfs]# ./make.sh
[root@fdfs_storage1 fdfs]# ./make.sh install
[root@fdfs_storage1 FastDFS]# vim INSTALL
[root@fdfs_storage1 FastDFS]# cp init.d/fdfs_storaged /etc/init.d/
3)创建数据存储目录(存储日志、数据文件等)
[root@fdfs_storage1 FastDFS]# mkdir -pv /data/fastdfs
4)修改配置文件。
[root@fdfs_storage1 FastDFS]# vim /etc/fdfs/storage.conf
base_path=/data/fastdfs/ # 设置基础工作目录
max_connections=4096 # 设置最大连接数
store_path0=/data/fastdfs/ # 设置上传文件目录
tracker_server=192.168.113.50:22122 # 设置连接的Tracker
upload_priority=10 # 设置组内服务器优先级
5)控制storage启动
[root@fdfs_storage1 FastDFS]# /etc/init.d/fdfs_storaged
用法:/etc/init.d/fdfs_storaged {start|stop|status|restart|condrestart}
6)查看storage工作状态
[root@fdfs_storage1 FastDFS]# /etc/init.d/fdfs_storaged status
fdfs_storaged (pid 28916) 正在运行...
[root@fdfs_storage1 FastDFS]# netstat -tlnp | grep storage
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 28916/fdfs_storaged
三、文件测试及web访问
目标:
为实现文件的上传、下载和删除等功能,FastDFS提供相应的命令行工具。测试这些工具的使用。
为了方便用户访问,可以在storage上配置web访问功能,使得文件通够通过web页面进行访问。
步骤:
步骤一:通过fdfs_test
1)上传文件
测试程序会对一个文件上传两次。返回的文件id也是两个并上传文件附加属性。storage上生成4个文件
[root@fdfs_tracker ~]# /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload install.log
查看上传到storage的文件
[root@fdfs_storage1 FastDFS]# ls /data/fastdfs/data/00/00/
wKhxPFc3oD6ARewxAAC6OPZ7hp8271_big.log wKhxPFc3oD6ARewxAAC6OPZ7hp8271.log
wKhxPFc3oD6ARewxAAC6OPZ7hp8271_big.log-m wKhxPFc3oD6ARewxAAC6OPZ7hp8271.log-m
2)删除文件
[root@fdfs_tracker1 fastdfs]# /usr/local/bin/fdfs_test /etc/fdfs/client.conf\
delete group1 M00/00/00/wKhxPFc3oD6ARewxAAC6OPZ7hp8271_big.log
步骤二:通过其他相关命令
1)通过fdfs_upload_file上传文件
[root@fdfs_tracker1 fastdfs]# /usr/local/bin/fdfs_upload_file\
/etc/fdfs/client.conf /etc/passwd
group1/M00/00/00/wKhxPFc3pEyAFrHBAAAGKI1fx1k5058918
2)通过fdfs_download_file下载文件
[root@fdfs_tracker1 ~]# /usr/local/bin/fdfs_download_file /etc/fdfs/client.conf\
group1/M00/00/00/wKhxPFc3pEyAFrHBAAAGKI1fx1k5058918
3)通过fdfs_delete_file删除文件
[root@fdfs_tracker1 ~]# /usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf\
group1/M00/00/00/wKhxPFc3pEyAFrHBAAAGKI1fx1k5058918
步骤三:配置web访问
1)在storage上安装nginx
[root@fdfs_storage1 ~]# yum install -y pcre pcre-devel zlib zlib-devel
[root@fdfs_storage1 fdfs]# tar xzf fastdfs-nginx-module_v1.16.tar.gz
[root@fdfs_storage1 fdfs]# tar xzf nginx-1.7.10.tar.gz
[root@fdfs_storage1 fdfs]# cd nginx-1.7.10
[root@fdfs_storage1 nginx-1.7.10]# useradd -s /sbin/nologin nginx
[root@fdfs_storage1 nginx-1.7.10]# ./configure --prefix=/usr/local/nginx \
--user=nginx --group=nginx --add-module=../fastdfs-nginx-module/src/
[root@fdfs_storage1 nginx-1.7.10]# make && make install
2)为nginx修改fastdfs模块配置
[root@fdfs_storage1 fdfs]# cp fastdfs-nginx-module/src/mod_fastdfs.conf \
/etc/fdfs
[root@fdfs_storage1 fdfs]# vim /etc/fdfs/mod_fastdfs.conf
tracker_server=192.168.113.50:22122
group_name=group1
url_have_group_name = true
store_path0=/data/fastdfs/
3)修改ngin配置文件并启动
[root@fdfs_storage1 fdfs]# vim /usr/local/nginx/conf/nginx.conf
# location / {
# root html;
# index index.html index.htm;
# } 将这段说明注释掉,增加以下说明
location / {
ngx_fastdfs_module;
}
[root@fdfs_storage1 fdfs]# /usr/local/nginx/sbin/nginx
4)测试web访问
[root@fdfs_tracker1 ~]# /usr/local/bin/fdfs_upload_file \
/etc/fdfs/client.conf tedu.jpg
group1/M00/00/00/wKhxPFc4f2yAVLH7AACwEV-ILDc194.jpg
[root@fdfs_tracker1 ~]# firefox\
http://192.168.113.60/group1/M00/00/00/wKhxPFc4f2yAVLH7AACwEV-ILDc194.jpg &
结果如下图所示
Cluster基础(五):配置tracker、配置storage、文件测试及web访问的更多相关文章
- Linux基础五:网络配置与管理
五.网络配置与管理 1.网络知识 2.命令 ifconfig命令 <=> ip addr show 命令--查看本地所有网卡配置信息 ens32:本地以太网网卡,lo:本地回环网卡 ...
- spring mvc: 可参数化的视图控制器(在配置中指定jsp文件)MultiActionController/SimpleUrlHandlerMapping/ParameterizableViewController
spring mvc: 可参数化的视图控制器(在配置中指定jsp文件)MultiActionController/SimpleUrlHandlerMapping/ParameterizableView ...
- Expo大作战(五)--expo中app.json 文件的配置信息
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机
一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd 2&g ...
- Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- nginx应用总结(1)--基础认识和应用配置
在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...
- nginx应用总结(1)-- 基础知识和应用配置梳理
在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...
- 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署
阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...
- JAVA EE Hibernate基础一之环境配置
对于JAVA开发高级,hibernate是java三大框架之一,足以见得它的重要性,那么对于hibernate的使用大家有了解多少呢?从今天开始我将带领大家一道共同探讨一下hibernate的知识,h ...
随机推荐
- 从 2017 OpenStack Days China 看国内云计算的发展现状
目录 目录 China Runs On OpenStack 私有云正式迈入成熟阶段 混合云的前夜已经来临 China Runs On OpenStack OpenStack Days China 作为 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_5_文件存储的原理和记事本打开文本显示原理
原理 流对象指向这个文件a.txt 往文件中写数据,写的时候比较特殊 97转换成二进制是多少呢? 输入97然后选择二进制.转换后为 1100001 硬盘上实际存的是97的二进制 97查询阿斯克码表就是 ...
- 每天一个Linux命令(37)kill命令
Linux中的kill命令用来终止指定的进程(terminate a process)的运行. kill可将指定的信息送至程序.预设的信息为SIGTERM(15),可将指定程序终止. ...
- tensorflow 关于 矩阵 运算 + 符号得含义。 2维 数组 + 1纬数组, 就是每一行都 加一边 1纬数组。 呵呵
小锋子Shawn(403568338) 13:51:23mnist.training.images?墨须(964489899) 13:51:27我的图片是100*100的,该怎么兼容. 小锋子S ...
- c++静态成员变量初始化时不受访问权限控制
1.要在类外初始化,const 成员变量才能在类内初始化 2.初始化在类外,而不在main函数内 class A{ private: string name; A(){ name = "a& ...
- myeclipse的修改背景颜色和字体
- Java包的使用
好处 1.类似于文件系统的文件夹,可以实现分类管理类文件,方便查找2.解决了同一个项目中同名类的冲突问题 包的创建 命名规范: 建议小写字母,并且采用域名倒置的写法 域名倒置:com.baidu ww ...
- Java虚拟机最多支持多少个线程?
作者:miracle1919 来源:http://sina.lt/getP McGovernTheory在StackOverflow提了这样一个问题:Java虚拟机最多支持多少个线程?跟虚拟机开发商 ...
- 树莓派VNC Viewer 远程桌面配置教程
作为一个刚入门的小白,你还在为如何配置树莓派的远程桌面控制苦恼? 是否希望能够每次在树莓派上无须接上显示器.键盘.鼠标以及走到放置你的树莓派的地方就可以运行指令! 在这篇树莓派文章中,你将学到如何在树 ...
- Jquery WEUI 滚动加载(infinite)不触发
源代码:(1.0.1版本) Infinite.prototype.scroll = function() { var container = this.container; var offset = ...