首页 文章 精选 留言 我的

精选列表

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

阿里云生态合作伙伴优秀案例:中国扶贫基金会“爱”上云端

精准扶贫 为2908.72万贫困人口和灾区人民点亮希望 中国扶贫基金会成立于1989 年,是在民政部注册、由国务院扶贫办主管的全国性扶贫公益组织,是中国扶贫公益领域规模最大、最具影响力的公益组织之一。在社会各界的支持下,截至2016年底,累计筹措扶贫资金和物资248.67 亿元,受益贫困人口和灾区民众2908.72 万人次。 对于公益性组织,降低运营成本和及时响应是头等大事。尤其是中国扶贫基金会这种全国性公益组织,如何降低运营成本、并提升跨地域员工的沟通效率,成为摆在相关人员面前的问题。 云计算的出现,为中国扶贫基金会解决了这个难题。通过全面规划云架构,中国扶贫基金会在短时间内彻底替换传统架构,改变了之前自有机房的运维模式。全部系统部署阿里云上后,“运维成本下降明显,系统安全及快速扩展能力显著提升”。 同时,针对基金会捐款来源众多、额度巨大

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

Forrester:全面掌握关于容器技术的云原生解决方案生态系统

容器技术让企业能更快速地开发出高度差异化的应用和服务,并且带来应用质量和地域覆盖范围的提升,以此创造出富有吸引力的用户体验。容器技术已成为数字化转型中至关重要的元素,它为企业架构师带来了更快速的软件交付,更大的应用规模,更好的弹性和灵活性以及更丰富的实施方案选择。企业应用的基础设施、开发方式以及架构都在发生改变,而容器技术在每个方面都扮演着重要角色。 然而正如Forrester的《科技雷达图:商业科技基础设施》报告中提到的,容器和容器管理技术依旧处在创建阶段,这意味着容器的一些组件和管理工具依旧不够成熟并且正在迅速发展变化。企业需要规划出各技术组件的发展版图,才能很好的搭建、组合以及部署容器。为帮助技术管理专家加速云技术的演化,Forrester近期发表了一篇关于典型的容器管理软件架构当中各层的软件技术发展版图。 报告中的一些要点见下: 容器技术战略对于企业的数字商业至关重要。云原生应用和平台都是围绕着最中心的容器技术而产生,因此容器技术能够带来业务和架构上的优势,例如通过改善DevOps方式的软件交付能力来加速技术创新,或是在基础设施自动化和提效方面存在性能优势。容器技术在云平台中几乎无处不在 – 不论是本地还是公有云,在Linux和Windows环境下也均可。企业架构师必须明确定义容器战略,才能加速企业数字化转型。 基于容器的应用平台是容器战略的关键。我们介绍了两类平台架构:原生容器和集成平台。每种都具有独特优势- 原生容器架构的量级较轻,但需要额外进行一些集成。集成平台架构则更加成熟并且功能更全。开源组件在其中也扮演着重要角色,基于容器的应用平台参考架构涵盖从容器基础架构到运营管理的各个领域。 容器技术提供商差异化明显并且数量迅速增长。基于容器的应用平台的每一层都有各类容器软件,它们可以是开源软件或是商业软件。在规划容器技术解决方案的发展版图时,企业架构师将起到重要作用,比如协助挑选基础设施软件提供商、开源社群、原生容器解决方案提供商、PaaS提供商以及公有云平台提供商等。同时也要注意各类技术提供商的数量正在迅速增多。 原文发布时间为:2017年6月17日 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

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

一步一步学习大数据:Hadoop生态系统与场景

Hadoop概要 到底是业务推动了技术的发展,还是技术推动了业务的发展,这个话题放在什么时候都会惹来一些争议。 随着互联网以及物联网的蓬勃发展,我们进入了大数据时代。IDC预测,到2020年,全球会有44ZB的数据量。传统存储和技术架构无法满足需求。在2013年出版的《大数据时代》一书中,定义了大数据的5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。 当我们把时间往回看10年,来到了2003年,这一年Google发表《Google File System》,其中提出一个GFS集群中由多个节点组成,其中主要分为两类:一个Master node,很多Chunkservers。之后于2004年Google发表论文并引入MapReduce。2006年2月,Doug Cutting等人在Nutch项目上应用GFS和 MapReduce思想,并演化为Hadoop项目。 Doug Cutting曾经说过他非常喜欢自己的程序被千万人使用的感觉,很明显,他做到了;下图就是本尊照片,帅气的一塌糊涂 2008年1月, Hadoop成为Apache的开源项目。 Hadoop的出现解决了互联网时代的海量数据存储和处理,其是一种支持分布式计算和存储的框架体系。假如把Hadoop集群抽象成一台机器的话,理论上我们的硬件资源(CPU、Memoery等)是可以无限扩展的。 Hadoop通过其各个组件来扩展其应用场景,例如离线分析、实时处理等。 Hadoop相关组件介绍 本文主要是依据Hadoop2.7版本,后面没有特殊说明也是按照此版本 HDFS HDFS,Hadoop Distributed File System (Hadoop分布式文件系统)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点,例如典型的Master/Slave架构(这里不准备展开介绍);然而HDFS是一个高度容错性的系统,适合部署在廉价的机器上。 关于HDFS主要想说两点。 HDFS中的默认副本数是3,这里涉及到一个问题为什么是3而不是2或者4。 机架感知(Rack Awareness)。 只有深刻理解了这两点才能理解为什么Hadoop有着高度的容错性,高度容错性是Hadoop可以在通用硬件上运行的基础。 Yarn Yarn,Yet Another Resource Negotiator(又一个资源协调者),是继Common、HDFS、MapReduce之后Hadoop 的又一个子项目。Yarn的出现是因为在Hadoop1.x中存在如下几个问题: 扩展性差。JobTracker兼备资源管理和作业控制两个功能。 可靠性差。在Master/Slave架构中,存在Master单点故障。 资源利用率低。Map Slot(1.x中资源分配的单位)和Reduce Slot分开,两者之间无法共享。 无法支持多种计算框架。MapReduce计算框架是基于磁盘的离线计算 模型,新应用要求支持内存计算、流式计算、迭代式计算等多种计算框架。 Yarn通过拆分原有的JobTracker为: 全局的 ResourceManager(RM)。 每个Application有一个ApplicationMaster(AM)。 由Yarn专门负责资源管理,JobTracker可以专门负责作业控制,Yarn接替 TaskScheduler的资源管理功能,这种松耦合的架构方式 实现了Hadoop整体框架的灵活性。 Hive Hive的是基于Hadoop上的数据仓库基础构架,利用简单的SQL语句(简称HQL)来查询、分析存储在HDFS的数据。并且把SQL语句转换成MapReduce程序来数据的处理。 Hive与传统的关系数据库主要区别在以下几点: 存储的位置 Hive的数据存储在HDFS或者Hbase中,而后者一般存储在裸设备或者本地的文件系统中。 数据库更新 Hive是不支持更新的,一般是一次写入多次读写。 执行SQL的延迟 Hive的延迟相对较高,因为每次执行HQL需要解析成MapReduce。 数据的规模上 Hive一般是TB级别,而后者相对较小。 可扩展性上 Hive支持UDF/UDAF/UDTF,后者相对来说较差。 HBase HBase,是Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。它底层的文件系统使用HDFS,使用Zookeeper来管理集群的HMaster和各Region server之间的通信,监控各Region server的状态,存储各Region的入口地址等。 HBase是Key-Value形式的数据库(类比Java中的Map)。那么既然是数据库那肯定就有表,HBase中的表大概有以下几个特点: 大:一个表可以有上亿行,上百万列(列多时,插入变慢)。面向列:面向列(族)的存储和权限控制,列(族)独立检索。 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 每个cell中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳。 HBase中的数据都是字节,没有类型(因为系统需要适应不同种类的数据格式和数据源,不能预先严格定义模式)。 Spark Spark是由伯克利大学开发的分布式计算引擎,解决了海量数据流式分析的问题。Spark首先将数据导入Spark集群,然后再通过基于内存的管理方式对数据进行快速扫描 ,通过迭代算法实现全局I/O操作的最小化,达到提升整体处理性能的目的,这与Hadoop从“计算”找“数据”的实现思路是类似的。 Other Tools Phoneix 基于Hbase的SQL接口,安装完Phoneix之后可以适用SQL语句来操作Hbase数据库。 Sqoop Sqoop的主要作用是方便不同的关系数据库将数据迁移到Hadoop,支持多种数据库例如Postgres,Mysql等。 Hadoop集群硬件和拓扑规划 规划这件事情并没有最优解,只是在预算、数据规模、应用场景下之间的平衡。 硬件配置 Raid 首先Raid是否需要,在回答这个问题之前,我们首先了解什么是Raid0以及Raid1。 Raid0是提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。(来源百度百科) 当Raid0与Hadoop结合在一起会产生什么影响呢? 优势: 提高IO。 加快读写。 消除单块磁盘的读写过热的情况。 然而在Hadoop系统中,当Raid0中的一块磁盘数据出现问题(或者读写变得很慢的时候)时,你需要重新格式化整个Raid,并且数据需要重新恢复到DataNode中。整个周期会随着数据的增加而逐步增加。 其次Raid0的瓶颈是Raid中最慢的那一块盘,当你需要替换其中最慢的那一块盘的时候就会重新格式化整个Raid然后恢复数据。 RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。(来源百度百科) 所以Raid1的本质是提高数据的冗余,而Hadoop本身默认就是3个副本,所以当存在Raid1时候,副本数将会变成6,将会提高系统对于硬件资源的需求。 所以在Hadoop系统中不建议适用Raid的,其实更加推荐JBOD,当一块磁盘出现问题时,直接unmount然后替换磁盘(很多时候直接换机器的)。 集群规模及资源 这里主要依据数据总量来推算集群规模,不考虑CPU以以及内存配置。 一般情况来说,我们是根据磁盘的的需求来计算需要机器的个数。 首先我们需要调研整个系统的当量以及增量数据。 举个例子来说,假如现在系统中存在8T的数据,默认副本数为3,那么所需要的存储=8T*3/80% = 30T左右。 每台机器存储为6T,则数据节点个数为5。 加上Master节点,不考虑HA的情况下,大概是6台左右机器。 软件配置 根据业务需求是否需要配置HA方案进行划分,由于实际场景复杂多变,下面方案仅供参考。 1.非HA方案 一般考虑将所有的管理节点放在一台机器上,同时在数据节点上启动若干个Zookeeper服务(奇数)。 管理节点:NameNode+ResourceManager+HMaster 数据节点:SecondaryNameNode 数据节点:DataNode +RegionServer+Zookeeper 2.HA方案 在HA方案中,需要将Primary Node 与Standby Node 放在不同的机器上,一般在实际场景中,考虑到节省机器,可能会将不同的组件的Master节点进行交叉互备,如A机器上有Primary NameNonde 以及 Standby HMaster ,B机器上有Standby NameNode 以及 Primary Master。 管理节 点:NameNode(Primary)+HMaster(Standby) 管理节点:NameNode(Standby)+HMaster(Primary) 管理节点:ResourceManager 数据节点:DataNode +RegionServer+Zookeeper Hadoop的设计目标和适用场景 其实在上面的Hadoop概要上我们就可以看到Hadoop当初的设计目标是什么。Hadoop在很多场合下都是大数据的代名词。其主要是用来处理半结构以及非结构数据(例如MapReduce)。 其本质也是通过Mapreduce程序来将半结构化或者非结构化的数据结构化继而来进行后续的处理。 其次由于Hadoop是分布式的架构,其针对的是大规模的数据处理,所以相对较少的数据量并不能体现Hadoop的优势。例如处理GB级别的数据量,利用传统的关系型数据库的速度可能相对较快。 基于上述来看Hadoop的适用场景如下: 离线日志的处理(包括ETL过程,其实本质就是基于Hadoop的数据仓库)。 大规模并行计算。 Hadoop的架构解析 Hadoop由主要由两部分组成: 分布式文件系统(HDFS),主要用于大规模的数据存储。 分布式计算框架MapReduce,其主要用来对HDFS上的数据进行运算处理。 HDFS主要由NameNode(Master)以及DataNode(Slave)组成。前者主要是对命名空间管理:如对HDFS中的目录、文件和块做类似 文件系统的创建、修改、删除、列表文件和目录等基本操作。后者存储实际的数据块,并与NameNode保持一定的心跳。 MapReduce2.0的计算框架本质是有Yarn来完成的,Yarn是关注点分离的思路,由Yarn专门负责资源管理 ,JobTracker可以专门负责作业控制,Yarn接替 TaskScheduler的资源管理功能,这种松耦合的架构方式 实现了Hadoop整体框架的灵活性。 MapReduce工作原理和案例说明 MapReduce可谓Hadoop的精华所在,是用于数据处理的编程模型。MapReduce从名称上面可以看到Map以及Reduce两个部分。其思想类似于先分后合,Map对与数据进行抽取转换,Reduce对数据进行汇总。其中需要注意的是Map任务将输出结果存储在本地磁盘,而不是HDFS。 在我们执行MapReduce的过程中,根据Map与数据库的关系大体上可以分为三类: 数据本地 机架本地 跨机架 从上述几种可以看出来,假设一个MapReduce过程中存在大量的数据移动对于执行效率来说是灾难性。 MapReduce数据流 从数据流来看MapReduce的关系大体可以分为以下几类: 单Reduce 多Reduce 无Reduce 然而无论什么MapReduce关系如何,MapReduce的执行流程都如下图所示: 其中在执行每个Map Task时,无论Map方法中执行什么逻辑,最终都是要把输出写到磁盘上。如果没有Reduce阶段,则直接输出到HDFS上。如果有Reduce作业,则每个Map方法的输出在写磁盘前线在内存中缓存。每个Map Task都有一个环状的内存缓冲区,存储着Map的输出结果,默认100m,在每次当缓冲区快满的时候由一个独立的线程将缓冲区的数据以一个溢出文件的方式存放到磁盘,当整个Map Task结束后再对磁盘中这个Map Task产生的所有溢出文件做合并,被合并成已分区且已排序的输出文件。然后等待Reduce Task来拉数据。 上述这个过程其实也MapReduce中赫赫有名的Shuffle过程。 MapReduce实际案例 Raw Data原始的数据文件是普通的文本文件,每一行记录中存在一个年份以及改年份中每一天的温度。 MapMap过程中,将每一行记录都生成一个key,key一般是改行在文件中的行数(Offset),例如下图中的0,106代表第一行、第107行。其中粗体的地方代表年份以及温度。 Shuffle该过程中获取所要的记录组成键值对{年份,温度}。 Sort将上一步过程中的相同key的value组成一个list,即{年份,List<温度>},传到Reduce端。 ReduceReduce端对list进行处理,获取最大值,然后输出到HDFS中。 上述过程进行总结下来流程如下: 本文作者:Lee 来源:51CTO

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

第四届中国OpenStack Bug Smash在杭州举办,持续引领开源生态发展

华为、英特尔及中国电子技术标准化研究院联合举办的第四届中国OpenStack Bug Smash于7月6日至8日在杭州隆重举行。 OpenStack Bug Smash已逐渐演进成为全球性的社区活动,影响力不断扩大,该活动除了修复代码漏洞为OpenStack高质量版本发布提供有力保障,更重要的意义在于促进开源活动在中国的发展,提高中国在全球开源项目中的影响力。 此次活动中,华为、英特尔和中国电子技术标准化研究院以强大的产业号召力,汇聚了来自英特尔、华为、HPE、PMG、浙大等14家公司和高校的79位顶尖级的OpenStack开发者参会,并且邀请到Cinder的核心技术专家Duncan Thomas为活动提供技术支持。在三天的时间里,79名资深OpenStack开发者,通过面对面紧密交流的形式,共同修复141个Bug,创造了历届新高,为新版本的OpenStack高质量发布保驾护航。 2016中国第四届OpenStack Bug Smash在杭州举办 OpenStack Bug Smash作为一项高水平的社区活动,旨在通过高水平OpenStack开发者间的密切合作,以及与来自全球各个项目组的Core Reviewer面对面交流,快速提升技术实力,聚焦关键性Bug问题的解决,推动OpenStack在中国的发展,向世界展示华为乃至中国OpenStack开发者在全球开源合作中的贡献和实力。在中国举办的连续四届OpenStack Bug Smash中,累计修复Bug数量400多个,中国以华为及英特尔为代表的OpenStack开发者进一步展现出在全球开源合作中的实力,让OpenStack社区发出更多的中国开源技术的声音。 ====================================分割线================================ 本文转自d1net(原创)

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

侯纪磊详解高通物联网路径:集成再集成 做大生态链

在今天召开的“2017中国通信行业物联网大会”上,美国高通公司高级研发总监、中国区研发中心负责人侯纪磊指出,海量物联网将会成为移动通信产业发展的重要方向之一。 但要真正的实现5G愿景中所定义的海量物联网,还需要在节能低功耗、远程和低复杂性等几个维度进行前进。以低功耗为例,现在的模组只能支持几个月,而未来则需要达到5到10年的寿命;在远程方面,则需要满足多样性和广泛性的场景需求;在复杂度方面,主要是实现不同标准之间的融合发展,做大产业链。 侯纪磊说,海量物联网虽然是5G所定义的愿景,但垂直行业应用的角度来看,基于LTE的物联网同样是大有可为。他认为,以LTE为代表的蜂窝技术在物联网应用中具有明显的优势。首先是广覆盖,运营商可以提供无所不在的覆盖;其次是用户体验,通过广泛的IP连接提供更好的体验;在安全性和可靠性方面,基于授权频段的蜂窝技术也要比其余的LPWA技术更有优势。 作为一家底层芯片厂商,高通也在和全球产业链紧密合作,来共同推动海量物联时代的加速到来。在物联网产业链中,高通的发力点还是在自己最擅长的标准和芯片层面。针对目前NB-IoT和eMTC两种主流基于LTE的物联网技术并存的局面,侯纪磊认为尤其合理性,因为NB-IoT和eMTC有着不同的应用场景。NB-IoT更加强调广覆盖和低成本,而eMTC则可以支持更高的传输速率、移动性和话音能力。至于选择哪种技术,主要取决于运营商对于业务需求的判断,高通都会积极深入的和产业链进行配合。 与部分厂商押宝式的做法不同,高通在积极倡导NB-IoT和eMTC的深度融合,希望能够在SoC层面实现同时支持,因为这将有助于减轻产品复杂度,提升产业链成熟度,通过规模商用来降低成本。同时,高通还在不断的增强产品集成度,会将包括CPU等在内的更多模块集成到SoC中,这将进一步降低成本和功耗。 本文转自d1net(转载)

资源下载

更多资源
Mario

Mario

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

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册