基于Linux的企业LNMP网站环境搭建与hadoop引入_第1页
基于Linux的企业LNMP网站环境搭建与hadoop引入_第2页
基于Linux的企业LNMP网站环境搭建与hadoop引入_第3页
基于Linux的企业LNMP网站环境搭建与hadoop引入_第4页
基于Linux的企业LNMP网站环境搭建与hadoop引入_第5页
已阅读5页,还剩29页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录TOC\o"1-3"\h\u7894摘要 328159Abstract 479301绪论 5135891.1研究背景 5108281.2研究意义 5194521.3国内外研究现状 6110401.3.1国外研究现状 7103801.3.2国内研究现状 8269962主要研究与设计内容 977203关键技术分析 9289193.1LNMP架构 9246303.2Nginx服务器 10276853.3PHP 12187603.4MyCat读写分离与主从备份技术 13177283.5prometheus数据监控 1452853.6Hadoop分布式环境 1692754环境架构拓扑分析 18258825主要配置实现 20227335.1负载均衡配置实现 2028635.2读写分离配置 21313025.3Hadoop集群配置 22200276测试 2448286.1网站正常运行测试 24222556.2、负载均衡测试 2467886.3、双机热备份测试 2539126.4、Mycat读写分测试 26260196..5、Hadoop环境测试 27110216.6、Prometheus监控测试 2835977结论及优势 29259237.1在成本与维护上 29207807.2在安全与稳定上 2987677.3可扩展性上 29297747.4在可发展性 3025401参考文献 312147致谢 32基于Linux的企业LNMP网站环境搭建与hadoop引入

摘要:随着互联网的快速发展,第三产业的网上业务无论是从广度还是深度都有了巨大地拓展,各中小企业机构为满足线上业务的需求,打造出了一系列的网站,这也就不可避免地造成了访问量的增加,也为网站的服务器正常运行带来了巨大的负担,进而可能带来网站瘫痪导致企业蒙受损失,尤其是电商行业的发展,使得在“双11”、“双12”这些日子中出现访问量的巨增,带来了更大的安全隐患[1],因此为解决这一问题,一系列的企业网站环境架构方式被推出;本文将通过大型企业网站环境搭建对LNMP架构、监控、负载均衡、服务器主从备份方面进行研究,并通过Hadoop实现对网站对日志处理,以打造出一个可以更好地继承传统架构优点的基础上,添加Mycat,Hadoop扩展,在各方面性能都良好的,宽领域网站架构。

关键词:LNMP,网站,性能,Mycat,HadoopLinuxbasedLNMPwebsiteenvironmentconstructionandHadoopintroductionAbstract:WiththerapiddevelopmentoftheInternet,theonlinebusinessofthetertiaryindustryhasbeengreatlyexpandedinbothbreadthanddepth.Inordertomeettheneedsofonlinebusiness,varioussmallandmedium-sizedenterpriseshavecreatedaseriesofwebsites,whichinevitablyresultsintheincreaseofvisits,andalsobringsahugeburdentothenormaloperationofthewebsiteserver,whichmayleadtowebsiteparalysisParalysisleadstothelossofenterprises,especiallythedevelopmentofe-commerceindustry,whichleadstoahugeincreaseinthenumberofvisitorsinthe"double11"and"double12"days,bringinggreatersecurityrisks[1].Therefore,inordertosolvethisproblem,aseriesofenterprisewebsiteenvironmentarchitecturemethodsarepushedout;thispaperwillbuildLNMParchitecture,monitoring,loadbalancing,servicethroughlargeenterprisewebsiteenvironmentServermasterandslavebackupresearch,andthroughHadooptoachievethewebsitelogprocessing,inordertocreateabetterinheritanceoftheadvantagesoftraditionalarchitecture,onthebasisofaddingMYCAT,Hadoopextension,inallaspectsofgoodperformance,widefieldwebsitearchitecture.Keywords:LNMP,website,performance,MYCAT,Hadoop1绪论1.1研究背景随着互联网的不断发展,人们获取信息的普遍从传统的实体转化为了网络的虚拟化方式,甚至为人们提供了丰富的网络网络商务活动以满足人们日益增长的需求,这便吸引了许多企业越来越注重线上的业务。在互联网进入国内短短时间便开辟出了大量的线上业务市场,遍布了我国各个领域,许多实体经济业务也开始转型或开辟了相应的线上业务,中国已经成为了一个互联网的使用大国。尤其对与电子商务领域,是实实在在的为人们提供了便利,在庞大的市场下,各企业为消费者提供了如B2C、B2B、C2C、C2B等形形色色的平台力求获取更大的市场。在网络设备普及度高,网络发达的现在,在潜移默化人们之中通过各企业提供的网站来获取信息,进行网络生活已经成为了人们的主要途径。但随着客户访问的日益增多,各网站也将承受巨大的流量负担,因此企业环境的高可用架构就成了各个企业开辟线上业务的重点,尤其是在“双11”、“双12”这样的时候,企业网站能够提供较高的并发量[1],实现业务的快速响应,并且面对巨大的交易访问量仍可稳定运行对于向用户提供一个好的上网环境是十分重要的。目前市面上存在两种主要的架构方式——LAMP、LAMP。两者的主要差距在于N(Nginx),相比于传统的Apache服务器的一个连接对应一个进程的同步多进程模型[2],Nginx则采用异步的方式,因此,Nginx可以使用更少的资源,实现更多的并发量,这也就带动了LNMP的广泛普及,也是这种架构得到不断的升级优化,本文将就此在LNMP架构上进行研究,打造一个更具实效性,高可用的网站环境架构[3]。1.2研究意义对于企业而言,网站就是其牌面,而一个好的架构环境可以让网站实现可持续的运作,是支撑起牌面的基础;而对于环境而言主要在于可以提供更高的并发量,更高的稳定性。本文通过对LNMP的架构的升级优化进行研究,打造一个在效率,并发,稳定性都有比较好的优势的网站架构。课题研究主要意义为:通过对各关键技术对比分析,选取合适的技术及解决方法,在LNMP总体框架的基础上,从安全、经济、长期性使用于维护方面出发,构建出适应于时代发展,可以更快解决市场需求的架构体系。实现对环境中的各服务器进行实时的监控,满足目前企业对于网站维护的提供实时的数据支持需求。通过Hadoop实现了对网站运行过程中的日志数据等的存储及后期分析问题,满足在大数据环境下,方便企业对网站用户访问数据的统计需求以制定发展及运营战略。1.3国内外研究现状随着作为目前各类网站需求的不断扩大,各种架构技术的不断成熟,LNMP使用量大的架构方式,它采用了开源免费的软件进行整体架构,不像那些封闭式的软件,由于安全漏洞过于隐蔽,造成相关问题解决方法困难,也为网站维护于后期的扩展增添了负担;并且,由于开源性比较强,也在极大程度上降低了企业架构得成本与后期维护的一系列问题。与传统的Java/J2EE、.NET相比,LNMP的架构方式无论是在性能、经济成本以及维护与扩展性上都占有相当不错的优势,这也是为什么这种架构不断被应用,升级;其组成部分也广泛被应用于大型企业的子网部分。Hadoop作为一个用java语言实现开源软件框架,具有扩容能力强、成本低、高效率、可靠性强的特点,是一个开发和运行处理大规模数据的软件平台,当下的Hadoop已经成长为一个庞大的体系,随着生态系统的成长,内容的不断丰富,Hadoop也不断被企业所使用[3]。在大数据时代下,Hadoop生态可以实现数据的存储、处理分析,以满足企业对的战略制定需要。本节将从国内与国外两个空间维度,分析LNMP与Hadoop的现状。1.3.1国外研究现状LNMP就是Linux系统下Nginx+MySQL+PHP这种网站环境架构。它属于LAMP的升级版本,其中主要的升级模块就是Apache服务器。而两者最核心的区别就在于处理请求的方式不同,Apache采用同步处理请求的方式,虽然在内存上会耗费更大的资源来满足每一个连接,如果企业出现像“双11”、“双12”这样的节日,在短时间网站会接受上亿的请求,这势必需要对应的服务器具有强大的内存空间才可以满足用户的需求,但是在实际上这是不可取的。相反,Nginx则是采用异步的方式来处理请求,可以使用更小的有限内存资源满足过多的请求连接需求,这也就实现了网站可以在短时间具有强大的稳定性;并且,在LNMP架构终加入Nginx服务器的负载均衡配置无疑是给网站加了“保险”,也就使得网站同时满足了高并发量与安全稳定的需求。由于LNMP在各企业间受到广泛的追捧与其各种脚本的不断出现,使得LNMP无论是安装还是后期的维护都十分简洁,更是由于强大的并发,稳定性的可靠保障使得其发展水平不断提高。另外由于Linux系统的不断发展,如Centos、Redhat等厂家更是推出了一系列满足企业需要的系统环境,加上数据库强大的支持,PHP的不断成熟更是让LNMP有了发展的基础,逐渐替代了传统的LAMP架构,是具有非常可观的发展前景的。而对于Hadoop而言,它最初起源于Google的BigTable,在DougCutting受Google的一篇名为“MapReduce:SimplifiedDataProcessingonLarge”的论文启发后将MapReduce计算框架与NDFS相集合而打造出的一个能够对大数据进行分布式处理的软件框架。随着Hadoop生态的不断发展,Hadoop的使用场景也在不断的扩展,就如我们最熟悉的“浏览器之争”。每一个浏览器都有一个最基本的功能那就时搜索,儿搜索最先要处理的问题就是如何实现对日益增长的数据的存储与处理。Hadoop的出现正好就解决了这方面的一些问题,它可以将将庞大的数据进行分布式存储,在用户对相应关键字进行搜索时实现集群中的分布式处理快速相应用户的搜索需求;并且,目前随着大数据的不断发展,AI技术的不断成熟,Hadoop生态迎来了更广阔的应用空间。而将LNMP架构与Hadoop生态相集合,在前期可能有点“大材小用”,但是信息时代的趋势必然会向其靠齐。所以与Hadoop相集合进行企业架构无疑是如虎添翼,可以有效的实现对于网站日志数据的存储,并且可以实现对各类数据的分析以应对多变的市场。1.3.2国内研究现状在国内,由于互联网技术在国内的不断普及,如今的中国已经成为了互联网使用大国,随着国内市场的不断扩大,LNMP技术开始不断用于企业网站架构,同时,由于经济全球化,与国际合作,通过互联网,世界已经连结成了一个整体,这也让LNMP相关核心技术在中国得到了不断地发展,让LNMP架构成为了国内企业首选的网站环境架构方式。由于LNMP主要由Linux操作系统、Nginx服务器、Mysql服务器、PHP脚本语言这4种开源免费的软件构成,并且都经历了长期的实践考验,具有很好的稳定性,高并发性等特点,虽然由于中国互联网的起步比较晚,但是LNMP这一低成本、高效率的架构方式很快就受到了企业的追捧,许多企业一开始都是采用这一架构。而作为核心服务器的Nginx服务器更是由于其出色的异步请求处理方式,具有占据资源少,并发能力强的“小巧玲珑”的特点使得的特点,让作为龙头企业的百度、京东、新浪等都采用了这一服务。对于Hadoop,国内来说,Hadoop并不会跟某种具体的行业或者某个具体的业务挂钩,它只是一种用来做海量数据分析处理的工具。而在中国已经拥有了良好的发展势头,比如早在2006年百度就开始引入Hadoop,到目前已经拥有上万台机器,每天输入数据超过7500TB,并且百度还在此基础上开发了自己的日志分析平台与数据仓库系统;而阿里巴巴还开发出了WebIDE集成开发环境;腾讯也利用Hadoop-Hive开发出了自己的数据仓库系统TDW,为腾讯各个产品线提供了基础的云计算与云存储服务。这可以在LNMP环境下进行用户、环境维护的大量数据的相关处理[4]。2主要研究与设计内容本文以LNMP的企业的企业架构实现网站的运行过程出发,同时加入Hadoop的环境搭建实现后续企业的大数据处理,对LNMP与Hadoop的关键技术,与搭建流程、架构方式进行研究,主要包括以下方面:1、在互联网快速发展的情况下,为满足企业网站高并发,稳定性强的要求,在LNMP架构的思想上,设计出一个普及性强,实用性强的架构。主要通过Nginx负载均很技术实现高可用,通过Mycat实现数据的读写分离达到网站的业务处理能力,提高稳定性与时效性,通过Keepalived实现服务器的双机热备份提升架构的高可用。2、为满足对架构环境的实时监控与预警,提高网站环境的安全性,引入了“普罗米修斯”监控系统,对架构中的服务器进行实时的数据监控,预防突发事件。3、在大数据时代下,为满足企业收集网站流量与流量管理,以及后期对流量的采集分析的需求提供Hadoop大数据处理机制,有效存储网站数据供后续分析处理,为企业战略部署提供数据支撑。3关键技术分析3.1LNMP架构LNMP架构由传统的LAMP架构在面对不同的需求升级而来,主要是指基于Linux环境,通过Nginx、Mysql、PHP三大主要软件组成。改架构继承了Linux的开源安全性特点,在很大层面上避免了像Windows这样的封闭式操作系统的安全漏洞;同时沿用了Mysql数据库这一使用场景多,处理效率比较不错的关系型数据库;通过PHP脚本语言实现相应资源的处理。可以说该架构是集合了极大主流软件的优势特点,相辅相成,在很大程度上使得此架构可以发挥出最大的性能,可以更好地满足企业的业务需求,比如在面对庞大的连接并发量时,PHP内部具有相应的缓冲机制来处理数据库连接,但是由于传统PHP处理动态能力的有限性会使得MySQL连接回收机制出现问题,造成“伪泄露”现象,而通过Nginx可以在源头上先进行连接量的优化处理,通过PHP-FPM实现后续的连接实际处理就可以解决问题。为了在其基础架构上进一步进行架构得优化以满足现实需求,本架构其主要业务过程可以通过如下几个子过程:首先用户向网站发起请求,Nginx双机热备份服务器的主服务器会优先获取到请求,通过IP-Hash算法,将该请求发送到对应的Web服务器,Web服务器收到请求后会将请求进行后台处理后对数据性操作发送到Mycat服务器,Mycat读写服务器可以识别其操作的读写操作的不同,将业务处理进一步发送到对应的读或写数据库上进行最终操作后返回相应结果。3.2Nginx服务器从Nginx是为俄罗斯访问量第二的Rambler所开发的这一应用场景就可以看出Nginx的目的解决了高并发连接的问题,自然也就是大数据时代中,各企业门户网站的首选,另外,它集Web服务器、反向代理、邮件服务器于一身,使得它的应用场景比较广[4]。相比于Apache服务器以占据更多内存资源采用多对多的连接与进程同步方式,Nginx则采用占据更少资源实现更高并发量的异步方式,并且可以从Nginx与Apache的综合性能对比图中看出Nginx在总体方面是Apache的升级,Nginx通过异步套接字事件驱动进行请求的接受,在很大层面上减少了服务器CPU的消耗,节省了系统资源[5]。所以说在如今网络流量数据庞大的时代前提下是Apache服务器最好的替代品。表3.2.1异步处理的Nginx与同步处理Apache性能对比服务器NginxApache反向代理性能非常好好热部署支持不支持系统压力很小小稳定性非常好好FastCGI好差安全性一般好静态文件处理非常好一般内存消耗非常小很大Rewrite规则非常好好相比于只是运行在Windows环境下的IIS服务器,Nginx可以在多UNIX、Linux操作系统下运行,具有很好的跨平台特点,并且IIS服务器具有很多的安全漏洞,很容易被不法分子利用,而Nginx对于用户提交的请求,Nginx负载可以通过多种算法将请求提交到不同的Web服务器上运行,通过不同的算法处理不同的请求以适用于不同的环境的负载分配;并且用户的访问都是先到Nginx服务器再提交到相应的Web上进行处理,这便有效的防止了不法人员的恶意攻击,同时由于所有的静态文件都保存再内部服务器上,进而保证了网站信息的安全性。相比于Lighttpd,Nginx与其都采用异步处理方式,可以轻松提供大量连接,实现高并发,并且都提供丰富的HTTP服务功能,但是Nginx在细节方面做的更好,提供了一些特色模块,比如:secure_link、geoip等,并且Nginx在性能上也略优于Lighttpd,因为Lighttpd启动线程时有加锁竞争的行为,而Nginx完全不会干预线程,而Lighttpd有动态库so,Nginx则是全静态编译,并且Nginx可以将多层负载均衡和代理服务缓存技术相集合,它可以快速的解析静态文件,而对于动态文件则提交到后台进行相应的处理,有效的实现了网站的动静分离。综上可知Nginx具有:高可靠:稳定性master进程管理调度请求分发到哪一个work进程Nginx热部署:平滑升级、可以快速重载配置,在不停止业务的情况下实现软件升级以及重载③高并发:可以同时响应更多的请求事件。如:epoll模型④响应快:尤其在处理静态文件上,响应速度很快⑤低消耗:cpu和内存1w个请求内存2-3MB⑥分布式支持:反向代理七层负载均衡,新版本也支持四层负载均衡有效的用户请求进行分流因此Nginx服务器在Apache、IIS、Lighttpd中脱颖而出,截止目前,中国境内的龙头互联网企业都在大大小小的许多场景中采用了Nginx,国内使用Nginx的主机更是占据总体数量的1/4。3.3PHPPHP(HypertextPreprocessor)是由Rasmus·Lerdorf设计的一种通用开源脚本语言,主要应用于Web领域。PHP对比CGI而言,它可以通过对编译后的代码进行加密与性能优化达到运行速度显著提高的效果;由于PHP是比较容易上手的类C语言,同样也具有面向对象的相关思想,虽然在国内其流行程度并不是很高,但是其优秀的特点却不可忽视[6]。表3.3.1PHP、ASP、JSP、.NET性能对比类别PHPASPJSP.NET跨平台性所有Windows所有WindowsWeb服务器多IIS很多IIS执行效率快快极快极快稳定性高低中高开发速度快快中快支持函数多少中多系统安全高低高高版本升级快慢慢中难易程度易易难中由表中数据可知PHP具有安全稳定、开发效率高,支持服务多的特点,是集中网络编程语言中占据优势最多的,是作为Web设计的首选。但是PHP在LNMP架构中缺陷也比较突出,对于Apache与PHP集合使用:PHP是以模块的形势加载在Apache的内核中,在解析动态PHP代码时,其效率较高。而对于Nginx与PHP集合使用时:Nginx与PHP相对而言都是独立的,只不过在应用过程中,解析动态脚本时,Nginx会自动源代码发送给PHP-FPM程序[7]。所以Nginx在处理静态页面时,效率较高,但是对于动态部分并不占优势。通过PHP的如图运行过程分析,客户端先提交请求对应PHP文件,此时服务器应用程序接口(SAPI)扫描字典,进行文件的解析,生成对应的Opcode,最后执行反馈给客户端。图3.3.1php工作流程图由PHP工作流程可以看出,它在处理请求时是一个一部走到底的循环,对于每一个请求他都需要进行一次全新的编译,虽然它的生命周期比较短,但是每一次执行中不管脚本是否发生变化,也就是Zend引擎必须重新走一遍生命周期,这也就造成了PHP处理能力较差的原因。因此,如果可以缓存Opcode,便可以跳过字典扫描、解析、创建的过程。虽然PHP技术在国内并不是很受重视,但在国外却大相径庭,对于这方面的问题,目前已经拥有了一些较成熟的处理方式。所以PHP虽然在计算上存在短板,但是将计算交给C语言处理,直接读取结果,这样就可以有效的弥补掉PHP处理动态资源的弊端[8],在Web上充分发挥其优势。因此PHP仍然是Web开发应用中最佳的选择,据统计全球5000万互联网网站中,60%以上用使用PHP开发[9],我们熟知的百度、淘宝、京东、Facebook都是其使用者。3.4MyCat读写分离与主从备份技术随着互联网的快速发展,大数据时代的到来,网站对于数据的操作变得越来越难以控制,传统的关系数据库已经无法满足快速查询与插入数据的要求,并且庞大的操作量对于数据库服务器而言也是一种巨大的挑战,这个时候NoSql通过降低数据的安全性能,在事务支持与数据的复杂查询上进行下调暂时解决这一危机,但对于一些安全与事务要求高的情景,NoSql就显得十分不足[10]。为了解决这一问题,可以把对数据的读写操作进行分离,降低对数据库服务器的负载,将相应的操作分散到多个服务器上,这样便可以在满足大量数据存储的基础上实现数据的快速查询。读写分离指对于网站的数据库分为两部分,一部分进行读取操作,一部分用于写入操作,可以有效防止数据在一个服务器上进行读写操作出现的事务问题[10]。在架构上,将两台服务器安装上Mysql数据库后,通过主从配置让两台服务器实现数据的同步,既实现了数据的备份安全,也减轻了数据交互的负载。图3.4.1Mycat主从架构图所以,在架构中加入读写分离技术可以在Nginx进行了负载均衡带来高并发的同时实现在满足大量数据存储的基础上实现数据的快速查询,并实现数据的同步备份,提升架构的安全性,效率性。3.5prometheus数据监控Prometheus是GoogleBrogMon的开源实现,由监控报警系统与时序数据库两部分组成。它是继Kubernetes后一款较受欢迎的监控软件,在2016年加入Linux旗下云原生计算基金会(CNCF)作为第二大开源的项目,截至目前在GitHub上就有4万多使用者,并且快速的小版本更新使得Prometheus可以得到不断的充实以满足时代的需求。Prometheus通过Http协议周期性的抓取被监控组件的状态数据,并在Prometheus服务器上实现聚合,同时还支持许多查询函数实现有针对性的查询,当触发预警标准后便会发出警报。图3.5.1Prometheos工作拓扑相比于Prometheus,虽然Zabbix也采用Agent+Server的架构,各个Agent都会采集数据传到Server进行汇总处理,并且支持自定义脚本执行,但是Zabbix需要常用的关系数据库的支持,而使用关系数据库作为时许存储数据库使得Zabbix在监控集群式有些不足,无法实现快速高效的监控。对于Open-Falcon,一款由国内小米公司开发的监控软件,虽然支持单周期亿次数据采集,并且可以支持单机200万Metric的上报、归档、存储,同时有许多组件支持;但是由于它的发布时间较短,不支持Tomcat、Apache等基础服务的监控,而且许多功能不完善使得它的使用面也无法像Prometheus这样广泛[11]。而对于Nagios,虽然在复杂的IT环境中表现出色,提供冗余监控;但是它的事件控制功能十分有限,而且对于插件的可用性也比较差,使得它扩容性也十分有限,并且由于没有历史数据,使得在监控邻域对于故障问题的排查表现得也很不使用。表3.5.1各开源监控软件性能对比类别扩展性高性能活跃度容器支持复杂度Zabbix高低中低中Nagios中中低低中Open-Falcon中高中中高Prometheus高高高高低综上可知prometheus具有很好的可扩展性于高性能,可以实现对多种数据的监控。在本LNMP架构中使用Prometheus作为监控组件是最佳的选择。3.6Hadoop分布式环境Hadoop是由Apache基金会开发的分布式文件系统,可以实现对大量数据的分布式处理,并且具有很高的可靠性,它可以维持多个工作数据副本,确保处理的无误性;采用MapReduce作为主要组件进行快速的分工合作,可以将大量数据分发到各个节点进行计算处理后进行汇总,还具有很强的可扩展性。相比于传统的关系数据库在云计算方面,Hadoop采用MPP架构,使得可以跨多个服务器自动分区进行并行处理;并且以HDFS作为存储系统,可以向复制文件一样简单,而且支持任何格式;在速度方面,Hadoop具有强大的内存工具可以实现数据的快速处理。由于Hadoop可以实现对大数据的快速处理,由Hadoop数据处理图可知其内部只有Map与Reduce过程,系统管理员只需要通过简单的外部软件定义基本的数据处理逻辑便可以实现,在每一台服务器上进行快速的计算。图3.5.1Hadoop数据处理过程当涉及到大数据,Hadoop允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。本架构构建了Hadoop的分布式环境,可以实现网站、系统日志的汇总存储与Hbase中,并且提供友好的浏览器界面,为系统管理、战略部署提供必要的数据支撑。4环境架构拓扑分析通过对各个关键技术的分析,本架构使用Linux、Nginx、Mysql、PHP搭建LNMP框架,并引入负载均衡、双机热备份、Mycat读写分离、数据主从、Prometheus、Hadoop技术已达到架构的高可用性、高稳定性、高扩展性、高安全性。主要部署如图:图4.1LNMP环境架构拓扑负载均衡与双机热备份:当用户访问网站,请求会首先到达Nginx服务器,在服务器内部通过hash算法后,将用户转到对应的Web服务器;并且两台nginx服务器进行了双机热备份,如果有一台服务器down掉,另一台备份的Nginx回立刻替代它,将用户的请求通过hash转发到对应的Web服务器上。Web服务器的负载均衡: 本架构在两台Web服务器上都通过Keepalived实现了两者的双机热备份,用户请求在通过负载均衡后到达相应的Web服务器上进行后续操作,但当其中一台服务器down掉后,另一台会立刻接管当前用户的请求,让用户继续后续的操作。Mycat读写分离: 从Web服务器发出的数据请求会到达Mycat服务器,Mycat服务器会根据该数据是读操作还是写操作下发到对应的Mysql数据库服务器上。Mysql主从: 在两台Mysql数据库上实现主从关系,是数据库数据会保持一致,并且以此划分数据库的角色,Master数据库只负责写入数据操作,Slave数据库只实现数据的读取操作。Prometheus数据监控: 本架构在所有的服务器上都安装了对应的监控模块,通过普罗米修斯可以实时看到各个模块传回的数据,并且可以通过浏览器界面实现对单个服务器某一数据的实时查询与作图分析。Hadoop数据存储: 在架构上引入了Hadoop分布式环境,用户可以在环境中配置相应的系统任务,将对应各个服务器的数据信息汇总存储到Hadoop集群中,并且可以在外部进行处理逻辑的书写,引入到各个分布式节点上实现对数据的快速处理;同时管理员可以在浏览器界面实现对集群存储数据的简单管理。5主要配置实现5.1负载均衡配置实现1、修改Nginx的nginx.conf文件图5.1.1Nginx配置2、Web01与Web02重新定义Nginx日志格式图5.1.2Nginx的http服务配置5.2读写分离配置主从同步配置1、在主服务器上授权Slave图5.2.1主服务器授权 2、在副服务器上开启Slave图5.2.2从服务器开启Slave读写分离在Mycat配置文件<schema></schema>标签中添加dataNode节点图5.2.3Mycat的Node配置在dataNode节点中,指定database真实的数据库图5.2.3Mycat数据库配置设置writeHost与readHost图5.2.4Mycat读写分离配置5.3Hadoop集群配置Java环境指定图5.3.1配置Java环境支持指定浏览器访问url与数据物理暂存地址图5.3.2配置Hadoop浏览器管理属性修改Hdfs配置文件指定浏览器url与副本数量图5.3.3配置hdfs浏览器管理属性指定MapReduce运行框架图5.3.4指定yarn框架指定yarn运行主节点图5.3.5指定Hadoop主节点6测试6.1网站正常运行测试图6.1网站正常运行测试6.2、负载均衡测试当多个流量到来时,Nginx负载均衡器会将其平均分配到相应的Web服务器进行处理图6.2.1流量转到Web-1测试图6.2.2流量转到Web-2测试6.3、双机热备份测试当负载均衡(LB-1)宕机,Lb-2可以立即切换工作测试(1)在正常工作时LB-1会分配到8的虚拟地址,图6.3.1主服务器虚拟IP测试图6.3.1从服务器虚拟IP测试(2)当LB-1宕机,LB-2会立即抢占IP,并让网站正常运行图6.3.3虚拟IP抢占测试图6.3.4宕机后网站正常运行测试6.4、Mycat读写分测试(1)mycat是否连接读写服务器测试图6.4.1Mycat连接主从测试(2)Mycat写入数据在Master写入数据库写入数据图6.4.2Mycat主数据库写入在Slave读取数据库写图6.4.3Mycat从数据库写入 Master上查询:只有Master写入数据图6.4.4Mycat主数据库写入查看Slave上查询:有两者写入的数据图6.4.5Mycat从数据库查看由上图可知所有数据都是通过Mycat服务器去写入,对于Master与Slave存入的数据,只有Slave可以查到所有,而Slave存储数据无法同步到Master,说明Master只提供写数据服务,Slave只提供读数据服务,也就是Mycat实现了数据库的读写分离。6..5、Hadoop环境测试(1)开启各节点,测试浏览器端是否正常接入图6.5.1Hadoop成功部署测试(2)测试将mycat服务器日志数据写入hdfs图6.5.2日志数据写入hdfs测试6.6、Prometheus监控测试以监控Mycat服务器一分钟负载运行状况为例:在终端添加需要监控的服务器,设置扫描参数便可以开启周期性状态数据扫描图6.6.1Mycat一分钟负载测试7结论及优势本文通过对当今LNMP在国内外发展进行研究的基础上,分别分析了各个关键技术的优势及相关问题的解决方案,最后采取比较优势化的Nginx、PHP、Hadoop进行框架搭建;并引入负载均衡、双机热备份、Mycat读写分离、数据主从、Prometheus、Hadoop技术已达到架构的高可用性、高稳定性、高扩展性、高安全性。以下对从构建成本与维护、安全稳定性、可扩展性、可发展性方面进行剖析说明本架构的优势所在。7.1在成本与维护上在成本与维护上,本架构都采用开源免费且都是轻量级的软件,可以满足许多新兴企业的需求,降低网站架构成本;另外,所用软件服务都是发行时间长,使用涉及邻域广泛,用户使用量大,官方稳定维护更新,对于运行阶段的各种问题都可以在网上找到快速解决方案,可以有效的降低网站的维护成本。并且,这些轻量级的应用都具有上手容易,操作性强的特点,可以在人力资源上做到精简。7.2在安全与稳定上在安全与稳定性上,架构中对核心服务器进行了双机热备份,可以有效防止意外事故造成的业务中断问题,并且使用负载均衡技术将业务流量进行均衡分配,通过IPHash算法实现用户session的不中断,通过Mycat读写分离技术与数据库主从技术实现业务的高效处理能力,提高数据的安全指数。7.3可扩展性上在可扩展性上,架构中主要体现在负载均衡、Prometheus监控、Hadoop集群的拓展上。对于服务器,只需要将需要添加的Web服务器IP配置到Nginx服务器中即可实现拓展,并且可以平滑升级;在监控方面,只需要将需要拓展的监控组件加入被监控服务器运行,在Prometheus服务器配置监听端口即可以开始服务器定向数据的实时监控;在Hadoop集群上,Hadoop本身就支持节点的扩展,只要将节点IP引入主节点,便可以实现集群的快速扩展而不会影响到其他节点。7.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论