首页 文章 精选 留言 我的

精选列表

搜索[部署],共10000篇文章
优秀的个人博客,低调大师

分布式文件系统FastDFS部署

一、简介 FastDFS是一款类GoogleFS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。准确地讲,GoogleFS以及FastDFS、mogileFS、HDFS、TFS等类GoogleFS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。 二、FastDFS的架构 图1展示的是FastDFS的系统架构。 图1 FastDFS的系统架构 从图1可以看出,Trackerserver之间相互独立,不存在直接联系。 客户端和Storageserver主动连接Trackerserver。Storageserver主动向Trackerserver报告其状态信息,包括磁盘剩余空间、文件同步状况、文件上传下载次数等统计信息。Storageserver会连接集群中所有的Trackerserver,向他们报告自己的状态。Storageserver启动一个单独的线程来完成对一台Trackerserver的连接和定时报告。需要说明的是,一个组包含的Storageserver不是通过配置文件设定的,而是通过Trackerserver获取到的。 不同组的Storageserver之间不会相互通信,同组内的Storageserver之间会相互连接进行文件同步。 Storageserver采用binlog文件记录文件上传、删除等更新操作。binlog中只记录文件名,不记录文件内容。 文件同步只在同组内的Storageserver之间进行,采用push方式,即源头服务器同步给目标服务器。只有源头数据才需要同步,备份数据并不需要再次同步,否则就构成环路了。有个例外,就是新增加一台Storageserver时,由已有的一台Storageserver将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。 Storageserver中由专门的线程根据binlog进行文件同步。为了最大程度地避免相互影响以及出于系统简洁性考虑,Storageserver对组内除自己以外的每台服务器都会启动一个线程来进行文件同步。 文件同步采用增量同步方式,系统记录已同步的位置(binlog文件偏移量)到标识文件中。标识文件名格式:{deststorageIP}_{port}.mark,例如:192.168.1.14_23000.mark。 三、文件上传和下载的交互过程 接下来我们一起看一下文件上传和下载的交互过程。文件上传和下载流程分别如图2、图3所示。文件上传流程的步骤如下: 图2文件上传流程 图3文件下载流程 1.Client询问Trackerserver上传到的Storageserver; 2.Trackerserver返回一台可用的Storageserver,返回的数据为该Storageserver的IP地址和端口; 3.Client直接和该Storageserver建立连接,进行文件上传,Storageserver返回新生成的文件ID,文件上传结束。 文件下载流程的步骤如下: 1.Client询问Trackerserver可以下载指定文件的Storageserver,参数为文件ID(包含组名和文件名); 2.Trackerserver返回一台可用的Storageserver; 3.Client直接和该Storageserver建立连接,完成文件下载。 四、ip地址分配(本文默认关闭防火墙) 1.172.16.8.8 nginx tracker 2.172.16.8.9 storage1 3.172.168.8.10storage2 备注:所有的下载地址为http://sourceforge.net/projects/fastdfs/files/?source=navbar 五、安装tracker 1.安装 1 2 3 4 5 6 7 #wget #tarxfdownload #cdFastDFS/ #./make.sh运行文件 有报错信息 compilationterminated. make :***[.. /common/fdfs_global .o]Error1 2.查看官方文档,需要安装libfastcommon 1 2 3 4 5 6 7 #wgethttps://github.com/happyfish100/libfastcommon/archive/master.zip #unzipmaster.zip #cdlibfastcommon-master/ #./make.sh #./make.shinstall 3.继续安装FastDFS 1 2 3 #cdFastDFS/ #./make.sh #./make.shinstall 4.配置 1 2 3 4 5 6 7 #cd/etc/fdfs/ #cptracker.conf.sampletracker.conf 修改配置文件 disabled= false #启用配置文件 port=22122 #设置tracker的端口号 base_path= /data/fastdfs/trackerd #设置tracker的数据文件和日志目录(需预先创建) http.server_port=18080 #设置http端口号 5.启动 1 2 3 4 #mkdir-p/data/fastdfs/trackerd #/usr/bin/fdfs_trackerd/etc/fdfs/tracker.confrestart 设置开机启动 #echo'/usr/bin/fdfs_trackerd/etc/fdfs/tracker.confrestart'>>/etc/rc.d/rc.local 六、安装storage(两台都一样,本出给出一台配置) 1.安装 与tracker 安装步骤相同 2.配置 1 2 3 4 5 6 7 8 disabled= false #启用配置文件 group_name=group1 #组名,根据实际情况修改 port=23000 #设置storage的端口号 base_path= /data/fastdfs/storage #设置storage的日志目录(需预先创建) store_path_count=1 #存储路径个数,需要和store_path个数匹配 store_path0= /data/fastdfs/storage #存储路径 tracker_server=172.16.8.8:22122 #tracker服务器的IP地址和端口号 http.server_port=18888 #设置http端口号 3.启动 1 2 3 4 #mkdir-p/data/fastdfs/storage #/usr/bin/fdfs_storaged/etc/fdfs/storage.confrestart 设置开机启动 #echo'/usr/bin/fdfs_storaged/etc/fdfs/storage.confrestart'>>/etc/rc.d/rc.local 4.查看状态 1 /usr/bin/fdfs_monitor /etc/fdfs/storage .conf 七、在storage安装nginx 在storage上安装nginx主要为了提高http的访问服务,同时解决group中的storage服务的同步延迟问题 1.nginx安装,可以使用源码编译,源码编译请移步本人相关博客http://wangfeng7399.blog.51cto.com/3518031/1403741,在编译安装时添加--add-module=/root/fastdfs-nginx-module/src/ 2.配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #wget #tarxfdownload.1 3.解决报错 make 的时候会报一下错误, root /fastdfs-nginx-module/src//common .c:21:25:fatalerror:fdfs_define.h:Nosuch file ordirectory #include"fdfs_define.h" ^ compilationterminated. make [1]:***[objs /addon/src/ngx_http_fastdfs_module .o]Error1 解决办法: vim /root/fastdfs-nginx-module/src/config CORE_INCS= "$CORE_INCS/usr/local/include/fastdfs/usr/local/include/fastcommon/" CORE_LIBS= "$CORE_LIBS-L/usr/lib-lfastcommon-lfdfsclient" 重新编译,安装即可 4.配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #cp/root/fastdfs-nginx-module/src/mod_fastdfs.conf/etc/fdfs/. #cp/root/FastDFS/conf/http.conf/etc/fdfs/. /root/FastDFS/conf/mime .types /etc/fdfs/ . 修改nginx的配置文件 server{ listen18888; server_namelocalhost; location~ /group1/M00 { root /fdfs/storage/data ; ngx_fastdfs_module; } error_page500502503504 /50x .html; location= /50x .html{ root /usr/share/nginx/html ; } } 6.启动nginx 八、在tracker安装nginx 在tracker上安装的nginx主要为了提供http访问的反向代理、负载均衡已经缓存服务 1.安装配置与storage上相同 2.配置负载功能 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 upstreamfdfs_group3{ server172.16.1.207:8080weight=1max_fails=2fail_timeout=30s; server172.16.1.208:8080weight=1max_fails=2fail_timeout=30s; } server{ # 设置服务器端口 listen8080; # 设置 group1 的负载均衡参数 location /group1/M00 { proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header; proxy_cachehttp-cache; proxy_cache_valid20030412h; proxy_cache_key$uri$is_args$args; proxy_passhttp: //fdfs_group1 ; expires30d; 九。测试 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 cd /etc/fdfs/ cp client.conf.sampleclient.conf base_path= /data/fdfs/tracker # 日志存放路径 tracker_server=172.16.8.8:22122 #tracker 服务器 IP 地址和端口号 http.tracker_server_port=8080 #tracker 服务器的 http 端口号 上传文件 /usr/bin/fdfs_upload_file /etc/fdfs/client .conf /root/install3 .sh group1 /M00/00/00/rBAIClZB6ySAYFbtAAAGpOjLUVA6601 .sh 日志报错 [2015-11-10 21:04:04] ERROR - file: ../common/fdfs_global.c, line: 52, the format of filename "group1/M00/00/00/rBAIClZB6ySAYFbtAAAGpOjLUVA6601.sh" is invalid vi/etc/fdfs/mod_fastdfs.conf url_have_group_name = true 再次测试上传 [root@vrvap2 fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/new.jpg group1/M00/00/00/rBAIClZB7fWAF2BmAADCkWSm8AA128.jpg 测试成功,终于完成了 本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1711589,如需转载请自行联系原作者

优秀的个人博客,低调大师

Windows端部署Scala2.10.5开发环境

应用场景 如果没有服务器环境,可以在本地搭建Scala开发环境,单机版,然后安装IDE编程工具,就可以在本地机器上进行scala程序的开发! 操作步骤 1. 首先安装jdk1.8 配置环境变量等 jdk1.8下载地址 2. 安装scala环境,配置环境变量(2.10.5) scala2.10.5下载地址 3. 安装spark,配置环境变量(spark1.6.1) spark1.6.1下载地址 4. 安装hadoop,配置环境变量(hadoop2.6.0) hadoop2.6.0下载地址 5. 安装scala IDE (2.12) scala IDE2.12下载地址 重要提示 注意: 这里需要注意一点,scala版本必须是2.10.5,因为spark中也有scala,是2.10.5版本的,而使用IDE的时候,需要引入spark包,所以如果scala单独环境如果不是2.10.5,那么会提示scala版本不一致的错误,很麻烦! 切记 环境装完之后,启动scala IDE,配置build path,导入spark包,然后写程序! 上面所有组件,只需要解压后,配置环境变量即可!

优秀的个人博客,低调大师

CentOS 7 部署安装配置 Docker 17.06

一、Docker的安装 Docker目前官方主要有两个版本,一个是企业版(docker-ee),一个是社区版(docker-ce),我们这里主要使用的是社区版。 1、安装Docker CE CentOS 7 基本仓库是带docker的,但是不是官方的版本,而且版本也比较低,我们推荐使用官方的yum源,而且对以后的升级也很方便。 1 wget-P /etc/yum .repos.d/https: //download .docker.com /linux/centos/docker-ce .repo 1 yum install docker-ce 在生产环境,我们通常会指定版本安装,如果不指定,将会使用最新版本安装,通过使用下面的命令,可以查看docker的版本。 1 yumlistdocker-ce.x86_64--showduplicates| sort -r 安装指定版本,使用如下命令。 1 yum install docker-ce-<VERSION> 2、启动Docker 1 systemctlstartdocker 3、使用阿里云镜像快速安装 1 curl-sSLhttp: //acs-public-mirror .oss-cn-hangzhou.aliyuncs.com /docker-engine/internet |sh- 二、配置Docker 加速器 如果不使用加速器,我们从Docker服务器拉取的时候会非常慢,那该如何解决呢? 首先,要“感谢”伟大的墙及其亲属。 然后,使用阿里云加速器或者DaoCloud 加速器(也就是代理、镜像)即可。 1、阿里云加速器 登录地址https://dev.aliyun.com/search.html,点击"创建我的容器镜像",找到"Docker Hub 镜像站点",如下图: 1 2 3 4 5 6 7 sudo tee /etc/docker/daemon .json<<- 'EOF' { "registry-mirrors" :[ "https://78ssvya7.mirror.aliyuncs.com" ] } EOF sudo systemctldaemon-reload sudo systemctlrestartdocker 2、DaoCloud 加速器 注册DaoCloud账户(支持微信登录),然后访问:https://www.daocloud.io/mirror#accelerator-doc 1 curl-sSLhttps: //get .daocloud.io /daotools/set_mirror .sh|sh-shttp: //b149d2fd .m.daocloud.io 本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1958583,如需转载请自行联系原作者

优秀的个人博客,低调大师

网络监控系统的建立及部署(二)

在使用之前我们看看Cacti能监控哪儿些设备,在这些设备上又能监控什么东西: 常见的Cacti监控对象: 服务器CPU,内存,磁盘,进程,连接数 Web,Mail,FTP,数据库,中间件 网络接口流量,转发速率,丢包率 网络设备性能,配置文件,路由数 安全设备性能,连接数,攻击数 设备运行状态,风扇 电源 温度 机房运行环境:电流,电压,温湿度 我们看到Cacti能监控的设备和项目是很多的,那我们怎么来配置他,才能让他从容监控这些设备呢,好,我们现在就说一下监控步骤: 1.填写设备信息及选择主机模板 2.添加相应的图形模板或Data Queries 3.选择监控的对象 4.将设备挂接在图形树上 我们根据Cacti的具体操作来说明这四步操作: 1.填写设备信息及选择主机模板 我们选择Devices一项:进入如下页面: 我们点击右上角的Add按钮,进入如下页面: 我们在Description填入这台机器的描述,名称要起的见名知意,比如:windows7_112,在Hostname那里填入IP地址,比如:192.168.0.112,然后在 Host Template中选择一个模板:Windows2000/XP Host,剩下的项我们不做修改,只是在SNMP Version 选择:Version 2,然后在SNMP Community处填写你在该windows机器上的Community名称(此处在添加完一个主机监控后,再讲),然后选择create,进入下端为此图形的页面。 我们保持默认,我们选择save,然后就会在当初点击Devices进入的链接处显示出该主机。 我们把最后面的框勾选上,然后在: 处,选择:Place on a Tree(Default Tree)项,然后,我们选择graphs项,就会出现Host:Windows7_112项 在经过5分钟的等待后,我们就可一看到这台主机的监控图示了(假如不出现,请重启mysql数据库): 到此,一个主机的监控就算完成。我们现在讲一下在windows上开启SNMP服务,我们在添加删除软件中选择,添加删除windows组件,然后选择管理和监控工具,点击详细信息,我们只选择简单网络管理协议SNMP,然后一路确定。我们在服务里面把SNMP service 和 SNMP Trap service启动,然后对snmp service右击选择属性,进入安全标签,在团体那里选择添加,选择只读,团体那里写入比如:public。然后再往下,我们对localhost进行编辑,写入你的监控机的IP地址,然后一路确定。这样就完成了Windows的SNMP的安装。 本文转自guoli0813 51CTO博客,原文链接:http://blog.51cto.com/guoli0813/343494,如需转载请自行联系原作者

优秀的个人博客,低调大师

appium自动化测试环境部署_Android

对于一台干净的windows要做appium测试需要的环境如下(针对python): android sdk java(jdk) adb Emulator Node.js Appium(一个最新的1.0.2版本,一个1.4.16版本,随意安装哪个) Python上安装appium-python-client插件 1、我们先把下载androidsdk,打开安装文件下一步到结束: 安装完成后配置环境变量: 添加%ANDROID_HOME%变量值为C:\Program Files (x86)\Android\android-sdk(即你安装的目录) 在PATH变量里添加%ANDROID_HOME%/tools和%ANDROID_HOME%/platform-tools路径 注:有些SDK安装完成后可能是platform目录,需要手动建一个platform-tools的路径 并把adb相关文件放到这个目录里。 另外还需要手动建一个build-tools的文件夹,后面用模拟器时需要这个。 检查AndroidSDK环境是否配置好,运行cmd---输入android-h查看: 出现这些信息说明androidsdk环境已配置好。 2、安装jdk,很简单安装直接下一步到结束,然后配置环境变量: 添加%JAVA_HOME%变量,值为C:\Program Files (x86)\Java\jdk1.8.0_60(即你安装的目录) 在PATH变量里添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin目录 3、Adb.exe文件放到在第一步中建的platform-tools目录下: Adb主要用于连接安卓手机。 4、安装node,也是直接打开安装文件点击下一步到结束,然后配置环境变量: 安装完成后,我们要设置环境变量: 在PATH变量里添加C:\Program Files\nodejs(即你的安装目录) 检查node是否安装成功,进入cmd---输入node –v看是否出现版本信息: 5、安装appium客户端,我这里安装的是1.0.2版本,打开安装文件自己会直接安装完成 在PATH里添加C:\Program Files (x86)\Appium\node_modules\.bin 6、安装appium-python-client,前提时你python环境已经是好的 可以通过pip来安装,建议使用pycharm软件安装,非常方便 7、最后我们进入cmd---输入appium-doctor验证appium测试环境是否都ok: 本文转自niedongri 51CTO博客,原文链接:http://blog.51cto.com/laomomo/1932248,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册