目录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.1研究背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.2研究意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.3 国内外研究现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.3.1国外研究现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.3.2国内研究现状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2主要研究与设计内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3关键技术分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.1 LNMP架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.2 Nginx服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.3 PHP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3.4 MyCat读写分离与主从备份技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.5 prometheus数据监控. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
3.6 Hadoop分布式环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
4环境架构拓扑分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
5主要配置实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
5.1负载均衡配置实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
5.2读写分离配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
5.3 Hadoop集群配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
6测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
1
6.1网站正常运行测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
6.2、负载均衡测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
6.3、双机热备份测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
6.4、Mycat读写分测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
6. .5、 Hadoop环境测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
6.6、 Prometheus监控测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
7结论及优势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
7.1在成本与维护上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
7.2在安全与稳定上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
7.3可扩展性上. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
7.4在可发展性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
2
基于Linux的企业LNMP网站环境搭建与hadoop引
入
华帮春
计算机学院网络工程专业2016级指导老师刘晓峰
摘要随着互联网的快速发展第三产业的网上业务无论是从广度还是深度都有了巨大地拓展各中小企业机构为满足线上业务的需求打造出了一系列的网站这也就不可避免地造成了访问量的增加也为网站的服务器正常运行带来了巨大的负担进而可能带来网站瘫痪导致企业蒙受损失尤其是电商行业的发展使得在“双1 1 ”、 “双12”这些日子中出现访问量的巨增带来了更大的安全隐患[1 ] 因此为解决这一问题一系列的企业网站环境架构方式被推出本文将通过大型企业网站环境搭建对LNMP架构、监控、负载均衡、服务器主从备份方面进行研究并通过Hadoop实现对网站对日志处理以打造出一个可以更好地继承传统架构优点的基础上添加Mycat Hadoop扩展在各方面性能都良好的宽领域网站架构。
关键词 LNMP 网站性能Mycat Hadoop
3
Linux based LNMP website environment construction and
Hadoop introduction
Hua Bang Chunnetwork engineering of computer science2016 grade instructor :Liu
Xiao feng
Abstract:With the rapid development of the Internet, the onlinebusiness of the tertiary industry has been greatly expanded in both breadthand depth. In order to meet the needs of online business, various small andmedium-sized enterprises have created a series of websites,which inevitablyresults in the increase of visits, and also brings a huge burden to the normaloperation of the website server, which may lead to website paralysisParalysis leads to the loss of enterprises, especially the development ofe-commerce industry,which leads to a huge increase in the number ofvisitors in the "double 11" and "double 12" days, bringing greater securityrisks [1]. Therefore, in order to solve this problem, a series of enterprisewebsite environment architecture methods are pushed out; this paper willbuild LNMP architecture,monitoring, load balancing, service through largeenterprise website environment Server master and slave backup research,and through Hadoop to achieve the website log processing, in order to createa better inheritance of the advantages of traditional architecture, on the basisof adding MYCAT,Hadoop extension, in all aspects of good performance,wide field website architecture.
Keywords:LNMP,website,performance,MYCAT,Hadoop
4
1绪论
1.1研究背景
随着互联网的不断发展人们获取信息的普遍从传统的实体转化为了网络的虚拟化方式甚至为人们提供了丰富的网络网络商务活动以满足人们日益增长的需求这便吸引了许多企业越来越注重线上的业务。在互联网进入国内短短时间便开辟出了大量的线上业务市场遍布了我国各个领域许多实体经济业务也开始转型或开辟了相应的线上业务中国已经成为了一个互联网的使用大国。尤其对与电子商务领域 是实实在在的为人们提供了便利在庞大的市场下各企业为消费者提供了如B2C、 B2B、 C2C、 C2B等形形色色的平台力求获取更大的市场。
在网络设备普及度高 网络发达的现在在潜移默化人们之中通过各企业提供的网站来获取信息进行网络生活已经成为了人们的主要途径。但随着客户访问的日益增多各网站也将承受巨大的流量负担 因此企业环境的高可用架构就成了各个企业开辟线上业务的重点尤其是在“双11” 、 “双12”这样的时候企业网站能够提供较高的并发量[1] 实现业务的快速响应 并且面对巨大的交易访问量仍可稳定运行对于向用户提供一个好的上网环境是十分重要的。
目前市面上存在两种主要的架构方式——LAMP、 LAMP。两者的主要差距在于N(Nginx)相比于传统的Apache服务器的一个连接对应一个进程的同步多进程模型[2] Nginx则采用异步的方式 因此 Nginx可以使用更少的资源实现更多的并发量这也就带动了LN MP的广泛普及也是这种架构得到不断的升级优化本文将就此在LNMP架构上进行研究打造一个更具实效性高可用的网站环境架构[3] 。
1.2研究意义
对于企业而言 网站就是其牌面而一个好的架构环境可以让网站实现可持续的运作 是支撑起牌面的基础而对于环境而言主要在于可以提供更高的并发量更高的稳定性。本文通过对LNMP的架构的升级优化进行研究 打造一个在效率并发稳定性都有比较好的优势的网站架构。
5
课题研究主要意义为
通过对各关键技术对比分析选取合适的技术及解决方法在LN MP总体框架的基础上 从安全、经济、长期性使用于维护方面出发 构建出适应于时代发展可以更快解决市场需求的架构体系。
实现对环境中的各服务器进行实时的监控满足目前企业对于网站维护的提供实时的数据支持需求。
通过Hado op实现了对网站运行过程中的日志数据等的存储及后期分析问题满足在大数据环境下方便企业对网站用户访问数据的统计需求以制定发展及运营战略。
1.3 国内外研究现状
随着作为目前各类网站需求的不断扩大各种架构技术的不断成熟LN MP使用量大的架构方式 它采用了开源免费的软件进行整体架构不像那些封闭式的软件 由于安全漏洞过于隐蔽造成相关问题解决方法困难 也为网站维护于后期的扩展增添了负担 并且 由于开源性比较强也在极大程度上降低了企业架构得成本与后期维护的一系列问题。与传统的Java/J2EE、 .NET相比 LNMP的架构方式无论是在性能、经济成本以及维护与扩展性上都占有相当不错的优势这也是为什么这种架构不断被应用升级其组成部分也广泛被应用于大型企业的子网部分。
Hadoop作为一个用java语言实现开源软件框架 具有扩容能力强、成本低、高效率、可靠性强的特点 是一个开发和运行处理大规模数据的软件平台当下的Hado op已经成长为一个庞大的体系随着生态系统的成长 内容的不断丰富 Hadoop也不断被企业所使用[3] 。在大数据时代下 Hadoop生态可以实现数据的存储、处理分析 以满足企业对的战略制定需要。本节将从国内与国外两个空间维度分析LNMP与Hadoop的现状。
6
1.3.1国外研究现状
LNMP就是Linux系统下Nginx+MySQL+PHP这种网站环境架构。
它属于LAMP的升级版本其中主要的升级模块就是Apache服务器。而两者最核心的区别就在于处理请求的方式不同 Ap ache采用同步处理请求的方式虽然在内存上会耗费更大的资源来满足每一个连接如果企业出现像“双11” 、 “双12”这样的节日在短时间网站会接受上亿的请求这势必需要对应的服务器具有强大的内存空间才可以满足用户的需求但是在实际上这是不可取的。相反 Nginx则是采用异步的方式来处理请求可以使用更小的有限内存资源满足过多的请求连接需求这也就实现了网站可以在短时间具有强大的稳定性 并且在LNMP架构终加入Nginx服务器的负载均衡配置无疑是给网站加了“保险” 也就使得网站同时满足了高并发量与安全稳定的需求。
由于LN MP在各企业间受到广泛的追捧与其各种脚本的不断出现使得LN MP无论是安装还是后期的维护都十分简洁更是由于强大的并发稳定性的可靠保障使得其发展水平不断提高。 另外由于L i n ux系统的不断发展如Centos、 Redhat等厂家更是推出了一系列满足企业需要的系统环境加上数据库强大的支持 PHP的不断成熟更是让LNMP有了发展的基础逐渐替代了传统的LAMP架构是具有非常可观的发展前景的。
而对于Hadoop而言 它最初起源于Google的B igTab le在DougCutting受Google的一篇名为“MapReduce Simplified Data Processing onLarge”的论文启发后将MapReduce计算框架与NDFS相集合而打造出的一个能够对大数据进行分布式处理的软件框架。随着Hadoop生态的不断发展 Hadoop的使用场景也在不断的扩展就如我们最熟悉的“浏览器之争” 。每一个浏览器都有一个最基本的功能那就时搜索 儿搜索最先要处理的问题就是如何实现对日益增长的数据的存储与处理。Hadoop的出现正好就解决了这方面的一些问题 它可以将将庞大的数据进行分布式存储在用户对相应关键字进行搜索时实现集群中的分布式处理快速相应用户的搜索需求并且 目前随着大数据的不断发展 AI技术的不断成熟 Hadoop生态迎来了更广阔的应用空间。而将LNMP架构与Hadoop生态相集合在前期可能有点“大材小用” 但是信息时代的趋势必然会向其靠齐。所以与Hado op相集合进行企业架构无疑是如虎添
7
翼可以有效的实现对于网站日志数据的存储 并且可以实现对各类数
据的分析以应对多变的市场。
1.3.2国内研究现状
在国内 由于互联网技术在国内的不断普及 如今的中国已经成为
了互联网使用大国 随着国内市场的不断扩大 LN MP技术开始不断用
于企业网站架构 同时 由于经济全球化 与国际合作通过互联网
世界已经连结成了一个整体这也让LN M P相关核心技术在中国得到了
不断地发展让LNMP架构成为了国内企业首选的网站环境架构方式。
由于LNMP主要由Linux操作系统、Nginx服务器、Mysql服务器、PHP脚本语言这4种开源免费的软件构成并且都经历了长期的实践考验具有很好的稳定性高并发性等特点虽然由于中国互联网的起步比较晚但是LNMP这一低成本、高效率的架构方式很快就受到了企业的追捧许多企业一开始都是采用这一架构。而作为核心服务器的Nginx服务器更是由于其出色的异步请求处理方式具有占据资源少并发能力强的“小巧玲珑”的特点使得的特点让作为龙头企业的百度、京东、新浪等都采用了这一服务。
对于Hadoop 国内来说 Hadoop并不会跟某种具体的行业或者某
个具体的业务挂钩 它只是一种用来做海量数据分析处理的工具。而在
中国已经拥有了良好的发展势头 比如早在2006年百度就开始引入
Hadoop到目前已经拥有上万台机器每天输入数据超过7500TB并且
百度还在此基础上开发了自己的日志分析平台与数据仓库系统而阿里
巴巴还开发出了Web IDE集成开发环境腾讯也利用Hado opHive开发
出了自己的数据仓库系统TDW为腾讯各个产品线提供了基础的云计算
与云存储服务。这可以在LNMP环境下进行用户、环境维护的大量数据
的相关处理[4] 。
8
2主要研究与设计内容
本文以LN MP的企业的企业架构实现网站的运行过程出发 同时加入Hadoop的环境搭建实现后续企业的大数据处理对LNMP与Hadoop的关键技术与搭建流程、架构方式进行研究主要包括以下方面
1 、在互联网快速发展的情况下为满足企业网站高并发稳定性强的要求在LNMP架构的思想上设计出一个普及性强 实用性强的架构。主要通过Nginx负载均很技术实现高可用通过Mycat实现数据的读写分离达到网站的业务处理能力 提高稳定性与时效性 通过Keepalived实现服务器的双机热备份提升架构的高可用。
2、 为满足对架构环境的实时监控与预警提高网站环境的安全性引入了“普罗米修斯”监控系统对架构中的服务器进行实时的数据监控预防突发事件。
3、在大数据时代下为满足企业收集网站流量与流量管理 以及后期对流量的采集分析的需求提供Hadoop大数据处理机制有效存储网站数据供后续分析处理 为企业战略部署提供数据支撑。
3关键技术分析
3.1 LNMP架构
LNMP架构由传统的LAMP架构在面对不同的需求升级而来主要是指基于Linux环境通过Nginx、Mysql、 PHP三大主要软件组成。改架构继承了Linux的开源安全性特点在很大层面上避免了像Windo ws这样的封闭式操作系统的安全漏洞 同时沿用了Mysql数据库这一使用场景多处理效率比较不错的关系型数据库通过PHP脚本语言实现相应资源的处理。可以说该架构是集合了极大主流软件的优势特点 相辅相成在很大程度上使得此架构可以发挥出最大的性能可以更好地满足企业的业务需求 比如在面对庞大的连接并发量时 PHP内部具有相应的缓冲机制来处理数据库连接但是由于传统PHP处理动态能力的有限性会使得MySQL连接回收机制出现问题造成“伪泄露”现象而通过Nginx可以在源头上先进行连接量的优化处理通过PHP-FPM实现后续的连接实际处理就可以解决问题。
为了在其基础架构上进一步进行架构得优化以满足现实需求本架
9
在前面的文章中就有介绍到半月湾Half Moon Bay Cloud服务商有提供洛杉矶DC5数据中心云服务器,这个堪比我们可能熟悉的某服务商,如果我们有用过的话会发现这个服务商的价格比较贵,而且一直缺货。这里,于是半月湾服务商看到机会来了,于是有新增同机房的CN2 GIA优化线路。在之前的文章中介绍到Half Moon Bay Cloud DC5机房且进行过测评。这次的变化是从原来基础的年付49....
优林怎么样?优林好不好?优林 是一家国人VPS主机商,成立于2016年,主营国内外服务器产品。云服务器基于hyper-v和kvm虚拟架构,国内速度还不错。今天优林给我们带来促销的是国内东北地区哈尔滨云服务器!全部是独享带宽!首月5折 续费5折续费!地区CPU内存硬盘带宽价格购买哈尔滨电信2核2G50G1M53元直达链接哈尔滨电信4核4G50G1M83元直达链接哈尔滨电信8核8G50G1M131元直...
pacificrack发布了7月最新vps优惠,新款促销便宜vps采用的是魔方管理,也就是PR-M系列。提一下有意思的是这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10,当然啦,常规Linux系统是必不可少的!1Gbps带宽、KVM虚拟、纯SSD raid10、自家QN机房洛杉矶数据中心...支持PayPal、...