• 关于

    模型不确定系统如何安装

    的搜索结果

回答

大数据系统部署方法 大数据的部署是个复杂的过程,涉及内容众多,但无论如何都离不开以客户需求为导向。所以我们首先需要从客户的角度去考虑对方的需求,抽取出影响点,如实际运行时大概的数据量,客户的实时性要求怎样,高可用方面的要求如何,如此等等。 进而我们依据上述的要求来考虑硬件的选型、平台软件的版本选择、部署时组件的配合以及组件自身针对业务形态进行的优化配置。 一般来说,对于硬件往往是配置越高越好,但客户往往也关注效费比等经济性方面的问题,因此我们进行大数据部署时也需要寻找一个经济上的均衡点,让硬件能最大效率的发挥出功能和性能。 大数据项目的实施,一般从概念阶段到部署上线主要分为以下几个步骤: 需求分析 首先就需要和使用大数据平台的用户进行充分的沟通,通过沟通了解用户将来运行的上层业务的业务特点以及重点。一般来说,大数据的业务类型基本可分为离线业务和在线业务,离线业务主要为MapReduce,进行数据的分析计算处理;在线业务主要为HBase,HBase对外提供实时的数据查询业务。当然上层业务也可能基于Hive来处理,但Hive实质上还是基于MapReduce。 了解用户业务运行时的数据量,分析数据模型,包括已有的数据量、后续单位时间内增加的数据量,以及用户期望的数据保存时间等要求。 模型设计 基于用户的数据量等信息设计存储和计算模型。 考虑数据的存储方式是通过HDFS进行存储还是通过HBase进行存储,或者两者兼而有之。如果用户的数据较为离散,并且只有存储的简单要求,一般单纯采用HDFS即可满足要求。如果用户数据存在外部查询用途,且实时性要求较高,则可以考虑采用HBase进行存储,通过HBase对外提供在线查询业务。 硬件规划 主要基于用户的需求进行硬件规划、部署设计、以及IP地址的规划。需要考虑每台服务器的单节点的性能要求。如计算要求高,则CPU和内存的配置要求也较高,同时在部署设计上需要把计算节点独立出来,避免存储节点占用过多CPU,导致计算延迟。如存储要求高,则需要加大磁盘的容量,在部署设计上可以多DataNode节点分担文件读写压力,同时将计算节点和DataNode节点合设,以减少服务器数量。 市场上有各种类型的磁盘,性能上存在差异,所以还要考虑磁盘类型的选择,一般来说选用sas盘较多,性能要求较低可考虑sata盘,性能要求较高可考虑采用ssd盘。 另外还可以通过raid来辅助实现磁盘性能的提升以及高可靠性的提升。 同时平台的整体部署离不开高性能网络的支撑,所以网络建议采用万兆网,既可以降低网络部署的复杂性,也可以提高可维护性。特殊情况下,也可以采用多网口绑定的方式,但是往往会大幅提高网络部署的复杂性。 对于实现高可用,我们一般都会对网络采用双网双平面的部署方式,如下图所示(图中略去防火墙等设备,主要保留平台所需的设备)。 干货丨大数据系统部署4大步骤5大原则 软件规划 根据用户的业务,规划采用哪些组件来满足用户的功能要求,并且通过部署来实现业务的高可用,高可扩展。 在各个节点部署服务时,还要注意服务间的依赖关系。如HDFS的QJM方式的HA实现对Zookeeper有依赖。 硬件部署 即完成机架的部署和网络的部署,以及服务器在机架上的部署。如果有raid卡的话还要完成raid卡的设置。 软件部署 当硬件完成部署后,接下来就是部署软件了,包括操作系统的安装配置,以及大数据平台的安装配置。 操作系统安装完后,如果是多网口绑定,那就还需要作网口绑定设置。 然后就是最关键的大数据平台的部署了,中兴通讯自研了一套功能强大的管理系统,可完成大规模的平台部署,同时完成大量节点的部署,自动高效。 为保证大数据系统的稳定可靠运行,在整体部署上应遵循如下隔离原则: 生产环境和测试环境的隔离 系统环境分为生产环境和测试环境。其中生产环境用于实际运营,承载真实业务数据和业务应用;测试环境用于各种功能验证和性能测试等,包括应用在上线前的功能验证。如把两个环境合用,将带来很多不确定性,测试环境容易对生产环境造成干扰,影响生产环境正常业务的提供,甚至测试环境中不成熟的应用和业务运行时可能对环境造成破坏性的影响。因此对两个环境进行物理隔离,两者独立运行,互不干扰,防止因硬件资源的占用或者抢夺对运行造成不必要的影响。 不同集群的隔离 为避免可能存在的机架断电导致集群数据丢失或者停止服务,需要将属于同一个集群的不同节点分别部署到不同的机架上,通过多个机架的方式提供对服务器的承载。每个集群都基于一套独立的HDFS运行,这样从物理上和逻辑上与其他集群都进行了隔离。 在线应用和离线应用的隔离 在大数据平台上运行的应用分为在线应用和离线应用两大类。为保证重点在线应用的正常运行,需要单独规划HBase集群,且该集群基于一套独立的HDFS运行,从物理上和逻辑上和其他集群都进行隔离。 不同在线应用的隔离 对于在线应用,分为一般在线应用和重点在线应用,重点在线应用基于一套独立的HDFS运行,实现物理隔离,用于存储重要的在线数据,保证实时查询服务的持续提供。一般在线应用用于提供普通的HBase查询,对实时性的要求低于重点在线应用,所以可和离线应用部署在一个集群中。 不同应用数据的隔离 集群中的数据都是基于HDFS进行存放的,因此对于属于同一个集群内的应用的数据隔离,可通过设置不同的HDFS目录存放的方式实现不同应用数据的隔离,参见下图: 干货丨大数据系统部署4大步骤5大原则 不同应用属于不同的用户,不同的应用使用不同的目录,然后通过对目录进行权限配置的方式进行隔离和共享。
1748847708358317 2019-12-02 03:11:09 0 浏览量 回答数 0

问题

搞懂了这几点,你就学会了Web编程

做了那么多年Web编程,仔细想想,其实本质上就那点事儿,你抓住了几个重点问题,学起来一点都不难。 1.理解浏览器/服务器结构(B/S) B/S是从90年代的客户端/服务器端...
技术小菜鸟 2019-12-01 21:20:38 2373 浏览量 回答数 1

回答

原生XML扩展 我更喜欢使用其中一个原生XML扩展,因为它们与PHP捆绑在一起,通常比所有第三方库更快,并且在标记上给我所需的所有控制权。 DOM DOM扩展允许您使用PHP 5通过DOM API操作XML文档。它是W3C的文档对象模型核心级别3的实现,这是一个平台和语言中立的接口,允许程序和脚本动态访问和更新文件的内容,结构和风格。 DOM能够解析和修改现实世界(破碎)的HTML,并且可以执行XPath查询。它基于libxml。 使用DOM需要一些时间才能提高效率,但这个时间非常值得IMO。由于DOM是一个与语言无关的接口,因此您可以找到多种语言的实现,因此如果您需要更改编程语言,那么您很可能已经知道如何使用该语言的DOM API。 一个基本的用法示例可以在抓取A元素的href属性中找到,一般的概念概述可以在php的DOMDocument中找到 StackOverflow上已经广泛介绍了如何使用DOM扩展,因此如果您选择使用它,您可以确定您遇到的大多数问题都可以通过搜索/浏览Stack Overflow来解决。 XMLReader的 XMLReader扩展是一个XML pull解析器。读取器在文档流上作为光标前进,并在途中停在每个节点上。 与DOM一样,XMLReader基于libxml。我不知道如何触发HTML解析器模块,因此使用XMLReader解析损坏的HTML的可能性可能不如使用DOM,因为您可以明确告诉它使用libxml的HTML解析器模块。 使用php从h1标签获取所有值时,可以找到一个基本用法示例 XML解析器 此扩展允许您创建XML解析器,然后为不同的XML事件定义处理程序。每个XML解析器还有一些您可以调整的参数。 XML Parser库也基于libxml,并实现了SAX样式的XML推送解析器。它可能是比DOM或SimpleXML更好的内存管理选择,但是比XMLReader实现的pull解析器更难以使用。 SimpleXML的 SimpleXML扩展提供了一个非常简单且易于使用的工具集,用于将XML转换为可以使用普通属性选择器和数组迭代器处理的对象。 当您知道HTML是有效的XHTML时,SimpleXML是一个选项。如果你需要解析破碎的HTML,甚至不要考虑SimpleXml,因为它会窒息。 一个基本的用法示例可以在一个简单的CRUD节点程序和xml文件的节点值中找到,PHP手册中还有很多其他的例子。 第三方库(基于libxml) 如果您更喜欢使用第三方库,我建议使用实际上使用DOM / libxml而不是字符串解析的库。 FluentDom - 回购 FluentDOM为PHP中的DOMDocument提供了类似jQuery的流畅XML接口。选择器是用XPath或CSS编写的(使用CSS到XPath转换器)。当前版本扩展了DOM实现标准接口并添加了DOM Living Standard的功能。FluentDOM可以加载JSON,CSV,JsonML,RabbitFish等格式。可以通过Composer安装。 HtmlPageDom Wa72 \ HtmlPageDom`是一个用于轻松操作HTML文档的PHP库。它需要来自Symfony2组件的DomCrawler来遍历DOM树,并通过添加操作HTML文档的DOM树的方法来扩展它。 phpQuery(多年未更新) phpQuery是一个服务器端,可链接,CSS3选择器驱动的文档对象模型(DOM)API,基于用PHP5编写的jQuery JavaScript库,并提供额外的命令行界面(CLI)。 另见:https://github.com/electrolinux/phpquery Zend_Dom Zend_Dom提供了处理DOM文档和结构的工具。目前,我们提供Zend_Dom_Query,它提供了一个统一的界面,可以使用XPath和CSS选择器查询DOM文档。 的QueryPath QueryPath是一个用于操作XML和HTML的PHP​​库。它不仅适用于本地文件,还适用于Web服务和数据库资源。它实现了许多jQuery接口(包括CSS样式的选择器),但它在服务器端使用时经过了大量调整。可以通过Composer安装。 fDOMDocument fDOMDocument扩展了标准DOM,以便在所有错误情况下使用异常,而不是PHP警告或通知。为方便起见,他们还添加了各种自定义方法和快捷方式,并简化了DOM的使用。 军刀/ XML saber / xml是一个包装和扩展XMLReader和XMLWriter类的库,用于创建一个简单的“xml到对象/数组”映射系统和设计模式。编写和读取XML是单遍的,因此可以快速并且需要大型xml文件的低内存。 FluidXML FluidXML是一个用于使用简洁流畅的API来操作XML的PHP​​库。它利用XPath和流畅的编程模式,既有趣又有效。 第三方(不是基于libxml的) 构建DOM / libxml的好处是,您可以获得良好的开箱即用性能,因为您基于本机扩展。但是,并非所有第三方库都沿着这条路线行进。其中一些列在下面 PHP简单的HTML DOM解析器 用PHP5 +编写的HTML DOM解析器允许您以非常简单的方式操作HTML! 需要PHP 5+。 支持无效的HTML。 使用选择器在HTML页面上查找标签,就像jQuery一样。 从一行中提取HTML中的内容。 我一般不推荐这个解析器。代码库很糟糕,解析器本身很慢而且内存很耗。并非所有jQuery选择器(例如子选择器)都是可能的。任何基于libxml的库都应该比这更容易。 PHP Html解析器 PHPHtmlParser是一个简单,灵活的html解析器,允许您使用任何css选择器(如jQuery)选择标签。目标是帮助开发需要快速,简单的方法来废弃html的工具,无论它是否有效!这个项目最初是由sunra / php-simple-html-dom-parser支持的,但支持似乎已经停止,所以这个项目是我对他以前工作的改编。 同样,我不推荐这个解析器。CPU使用率很高,速度相当慢。还没有清除已创建DOM对象的内存的功能。这些问题尤其适用于嵌套循环。文档本身不准确且拼写错误,自4月14日以来没有回复修复。 加农 通用标记器和HTML / XML / RSS DOM解析器 能够操纵元素及其属性 支持无效的HTML和UTF8 可以对元素执行类似CSS3的高级查询(比如jQuery - 支持的命名空间) HTML美化器(如HTML Tidy) 缩小CSS和Javascript 排序属性,更改字符大小写,更正缩进等。 扩展 使用基于当前字符/标记的回调解析文档 操作以较小的功能分隔,以便轻松覆盖 快速而简单 从未使用过它。不知道它是否有用。 HTML 5 您可以使用上面的方法来解析HTML5,但由于HTML5允许的标记,可能会有怪癖。因此,对于HTML5,您要考虑使用专用解析器,例如 html5lib 基于WHATWG HTML5规范的HTML解析器的Python和PHP实现,可与主要桌面Web浏览器实现最大兼容性。 HTML5最终确定后,我们可能会看到更多专用解析器。还有一个W3的博客文章,名为How-To for html 5 parsing,值得一试。 网页服务 如果您不想编写PHP,您也可以使用Web服务。一般来说,我发现这些实用程序很少,但那只是我和我的用例。 ScraperWiki。 ScraperWiki的外部界面允许您以您希望在Web或您自己的应用程序中使用的形式提取数据。您还可以提取有关任何刮刀状态的信息。 常用表达 最后也是最不推荐的,您可以使用正则表达式从HTML中提取数据。通常,不鼓励在HTML上使用正则表达式。 您可以在网上找到与标记相匹配的大多数片段都很脆弱。在大多数情况下,它们只适用于非常特殊的HTML。微小的标记更改,例如在某处添加空格,或添加或更改标记中的属性,可以使RegEx在未正确编写时失败。在HTML上使用RegEx之前,您应该知道自己在做什么。 HTML解析器已经知道HTML的语法规则。必须为您编写的每个新RegEx讲授正则表达式。RegEx在某些情况下很好,但它实际上取决于您的用例。 您可以编写更可靠的解析器,但是使用正则表达式编写完整可靠的自定义解析器是浪费时间,因为上述库已经存在并且在此方面做得更好。
游客gsy3rkgcdl27k 2019-12-02 02:09:37 0 浏览量 回答数 0

问题

Git 改变了分布式 Web 开发规则:报错

版本控制系统是大部分开发项目的核心组件,无论是开发应用程序、网站还是操作系统。大部分项目都涉及多个开发人员,往往位于不同的位置。分布式版本控制系统并不是新事物,但是 Git 版本控制系统为开发人员之...
kun坤 2020-06-08 11:09:24 3 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务