大数据和云计算的关系

Nock 发表了文章 0 个评论 3363 次浏览 2016-05-25 19:39 来自相关话题

近几年来,云计算受到学术界、工业界和互联网的热捧,随后,大数据横空出世,更是炙手可热。 那么,大数据和云计算之间是什么关系呢?    1、从整体上看,大数据与云计算是相辅相成的 大数据着眼于"数据",关注实际业务,
近几年来,云计算受到学术界、工业界和互联网的热捧,随后,大数据横空出世,更是炙手可热。 那么,大数据和云计算之间是什么关系呢? 
 
1、从整体上看,大数据与云计算是相辅相成的
大数据着眼于"数据",关注实际业务,

蘑菇街运维体系及双十一关键技术分享

being 发表了文章 0 个评论 3278 次浏览 2016-05-22 00:49 来自相关话题

关于蘑菇街: 中国最大的女性时尚社交电商平台。成立于2011年,总部位于浙江杭州, 目前(2015.Q3)拥有1.3亿注册用户,双十一日UV超2000万。2015.11.21日宣布完成D轮融资,并实施"一街双城"战略,杭州+北京,杭 州偏电商方向, ...查看全部
关于蘑菇街:
中国最大的女性时尚社交电商平台。成立于2011年,总部位于浙江杭州, 目前(2015.Q3)拥有1.3亿注册用户,双十一日UV超2000万。2015.11.21日宣布完成D轮融资,并实施"一街双城"战略,杭州+北京,杭 州偏电商方向,北京偏社交媒体方向。 
mogujie.png

蘑菇街业务架构-导购期(2011-2012)
dgq.png

dgq2.png

运维早期情况 
早期阶段(2011-2012年)
      – 两位数机器、个位数网络设备
      – 没有运维,开发即运维,靠牛逼的脚本和一些开源工具搞定 
蘑菇街业务架构-转型期(2013)
zxq.png

zxq2.png

运维的发展 
中间阶段(2013年-2014年)
           – 三位数服务器、两位数网络设备
           – 2-3名专职运维同学(主机&网络&DB&缓存&......) – 问题响应式的工作方式
– 工具化的运维平台
    []机器资源管理(CMDB的雏形)[/][] PHP发布系统[/][] 从指标维度监控系统(主机、QPS、RT、调用次数.... ) [/]
蘑菇街业务架构-社会化电商
ds.png
ds2.png
pro.png
我们应该怎么做 ​思路:
    []建立以应用服务为核心的管理标准体系[/][]打造CMDB、流程申请、持续集成和监控为一体的自动化运维系统, 而不是孤立的单点系统[/][]把运维能力服务化(API),使运维的能力无处不在 [/]
cmdb.png
关于应用服务管理 ​
appserver.png
案例介绍让我们看一个从服务器管理—申请—代码发布—线上监控的案例 关于应用服务器-Hestia服务和资源管理
    []从业务的维度来管理主机-CMDB的核心概念[/][]支持扩容、上下线、设备保障、权限等常规流程申请 [/]
    []自动化任务的配置和下发 [/]
hestia.png
关于应用服务管理-Mops流程申请系统
Mops.png
关于应用服务管理-发布系统以trade_ordership_service为标示,进行代码发布 
fb.png
关于应用服务管理-监控系统Sentry通用+自定义监控,运维+开发可以时刻关注自己的服务状态和质量
sentry.png
运维的现状 ​专业的运维团队 – 系统运维– 应用运维 – DBA– 运维开发• 运维的能力向平台化和服务化发展(DevOps,依赖于能力而不是人) – CMDB服务化平台– PHP+Java持续集成发布平台– 统一的监控平台– 全链路服务质量分析平台 – 稳定性平台– 容量评估平台(待做)• 工作方式的改变– 从问题响应式,向整体解决方案提供方向发展 双11技术保障,运维做了什么?
s11.png
双11关键技术分享—全链路系统 全链路背景
    []复杂的分布式系统,页面上的一次链接点击,在后端 可能会产生几十次的RPC调用,Web、服务化、缓存、 消息、DB.......都有可能涉及,如果出了问题,如何快 速定位到故障点?要扩容,如何合理评估?[/][]关键概念,全局唯一的TraceId [/]

全链路技术架构 
qll.png

全链路应用-快速发现问题点和瓶颈点
wtd.png

全链路应用-调用合理性分析 
没有明显的瓶颈点,每一次调用RT也很正常,但是全链整体的RT却很高, 问题又出在哪里了呢? 
hlx.png

jiazhi.png

全链路使用后的收益和后续
使用全链路后的收益
– 提升问题的定位效率 – 准确的评估容量
 
后续
– Mogu-Watch,与前端打通,实现用户全链路的分析 – 压测做到平时,与容量评估平台和资源分配打通
– 引入云资源弹性扩容,避免应对峰值的批量机器采购 
压测之后,关键技术改造-ATS静态化方案
静态化方案背景和简介
– 主链路(首页-详情&活动-交易-支付),降低RT,提升容量

– 资源类的如图片、CSS、JS等的静态化方案都会采用CDN技术

– 对于页面内容类的数据,如商品名称、商品详情等都属于静态数据,而 商品的库存、优惠等则需要获取动态结果

– 对于活动页面、H5活动推广页面等,则可以完全静态化 
ATS.png

ATS(Apache Traffic Server)静态化技术方案-Cheetah 
cheetah.png

ATS静态化案例-商品详情页 ​
atsjh.png

ATS静态化使用后的收益和后续 ​
• 使用静态化后的收益 
–  详情页(全站流量的30%+)静态化在双11期间的命中率达到95%,换言之,减少了后端服务接近30%的流量压力
–  RT从原来200ms降低到50ms,用户体验大大提升
–  容量提升,减少了后端服务器的数量

• 后续
– 借助云资源搭建云上的ATS,更贴近用户 – ATS Cluster方案
– 支持HTTPS
– 回源流控和容灾控制 
限流&降级开关推送和WEB应急扩容方案
• 限流&降级开关
– 限流,Web层,防止被流量打垮
– 降级,App层(服务化),保障核心应用

• Web应急扩容方案
– 选择Docker 容器,批量生成效率高 – 启动速度快
– 资源利用率提升明显 

从大数据到数据库

Nock 发表了文章 0 个评论 3010 次浏览 2016-05-19 22:02 来自相关话题

大数据的出现,必将颠覆传统的数据管理方式。在数据来源、数据处理方式和数据思维等方面都会对其带来革命性的变化。对于数据库研究人员和从业人员而言,必须清楚的是,从数据库(DB)到大数据(BD),看似只是一个简单的技术演进,但细细考究不难发现两者有着本质上的差别。  ...查看全部
大数据的出现,必将颠覆传统的数据管理方式。在数据来源、数据处理方式和数据思维等方面都会对其带来革命性的变化。对于数据库研究人员和从业人员而言,必须清楚的是,从数据库(DB)到大数据(BD),看似只是一个简单的技术演进,但细细考究不难发现两者有着本质上的差别。 

如果要用简单的方式来比较传统的数据库和大数据的区别的话,我们认为"池塘捕鱼" 和"大海捕鱼:是个很好的类比。"池塘捕鱼"代表着传统数据库时代的数据管理方式,而 "大海捕鱼"则对应着大数据时代的数据管理方式,"鱼"是待处理的数据。"捕鱼"环境条件的变化导致了"捕鱼"方式的根本性差异。这些差异主要体现在如下几个方面: 
 
1、数据规模:"池塘"和"大海"最容易发现的区别就是规模。"池塘"规模相对较小, 即便是先前认为比较大的“池塘”,譬如 VLDB(Very Large Database),和"大海"XLDB(Extremely Large Database)相比仍旧偏小。"池塘"的处理对象通常以 MB 为基本单位,而"大海"则 常常以GB,甚至是 TB、PB 为基本处理单位。 

2、数据类型:过去的"池塘"中,数据的种类单一,往往仅仅有一种或少数几种,这 些数据又以结构化数据为主。而在"大海"中,数据的种类繁多,数以千计,而这些数据又 包含着结构化、半结构化以及非结构化的数据,并且半结构化和非结构化数据所占份额越来 越大。
 
3、模式(Schema)和数据的关系:传统的数据库都是先有模式,然后才会产生数据。这 就好比是先选好合适的"池塘",然后才会向其中投放适合在该"池塘"环境生长的"鱼"。 而大数据时代很多情况下难以预先确定模式,模式只有在数据出现之后才能确定,且模式随 着数据量的增长处于不断的演变之中。这就好比先有少量的鱼类,随着时间推移,鱼的种类 和数量都在不断的增长。鱼的变化会使大海的成分和环境处于不断的变化之中。 

4、处理对象:在"池塘"中捕鱼,"鱼"仅仅是其捕捞对象。而在"大海"中,"鱼" 除了是捕捞对象之外,还可以通过某些"鱼"的存在来判断其他种类的"鱼"是否存在。也 就是说传统数据库中数据仅作为处理对象。而在大数据时代,要将数据作为一种资源来辅助 解决其他诸多领域的问题。 

5、处理工具:捕捞"池塘"中的"鱼",一种渔网或少数几种基本就可以应对,也就是 所谓的 One Size Fits All。但是在"大海"中,不可能存在一种渔网能够捕获所有的鱼类,也 就是说 No Size Fits All。 
 
从"池塘"到"大海",不仅仅是规模的变大。传统的数据库代表着数据工程(Data Engineering)的处理方式,大数据时代的数据已不仅仅只是工程处理的对象,需要采取新的 数据思维来应对。图灵奖获得者、著名数据库专家 Jim Gray 博士观察并总结人类自古以来, 在科学研究上,先后历经了实验、理论和计算三种范式。当数据量不断增长和累积到今天, 传统的三种范式在科学研究,特别是一些新的研究领域已经无法很好的发挥作用,需要有一 种全新的第四种范式来指导新形势下的科学研究。基于这种考虑,Jim Gray

大数据能为我们做什么?

Nock 发表了文章 0 个评论 2355 次浏览 2016-05-16 21:21 来自相关话题

一、什么是大数据,其核心和特点 ...查看全部
data1.png

一、什么是大数据,其核心和特点
data2.png

data3.png

data4.png

data5.png

二、预测演变而来的功能
data6.png

data7.png

一个东西要出故障,不会是瞬间的,而是慢慢地出问题的。通过收集所有的数据,我们可以预先捕捉到事物要出故障的信号,比方说发动机的嗡嗡声、引擎过热都说明它们可能要出故障了。系统把这些异常情况与正常情况进行对比,就会知道什么地方出了毛病。通过尽早地发现异常,系统可以提醒我们在故障之前更换零件或者修复问题。通过找出一个关联物并监控它,我们就能预测未来。
 
它不知道是哪些因素导致了机票价格的波动。机票降价是因为有很多没卖掉的座位、季节性原因,还是所谓的“周六晚上不出门”,它都不知道。这个系统只知道利用其他航班的数据来预测未来机票价格的走势。通过预测机票价格的走势以及增降幅度,Farecast票价预测工具能帮助消费者抓住最佳购买时机。
 
data8.png

用来分析的数据包括好几百种生活方式的数据,比如爱好、常浏览的网站、常看的节目、收入估计等。通过利用相关关系,保险公司可以在每人身上节省125美元,然而这个纯数据分析法只需要花费5美元。
data9.png

系统也设计了尽量少左转的路线,因为左转要求货车在交叉路口穿过去,所以更容易出事故。而且,货车往往需要等待一会儿才能左转,也会更耗油,因此,减少左转使得行车的安全性和效率都得到了大幅提升。
 
 
5000万条美国人最频繁检索的词条和美国疾控中心在2003年至2008年间季节性流感传播时期的数据进行了比较。他们希望通过分析人们的搜索记录来判断这些人是否患上了流感。谷歌公司为了测试这些检索词条,总共处理了4.5亿个不同的数学模型。在将得出的预测与2007年、2008年美国疾控中心记录的实际流感病例进行对比后,谷歌公司发现,他们的软件发现了45条检索词条的组合,将它们用于一个特定的数学模型后,他们的预测与官方数据的相关性高达97%。而疾控中心则要在流感爆发一两周后才能判断。
data10.png

Facebook跟踪用户的“状态更新”和“喜好”,以确定最佳的广告位从而赚取收入;据说亚马逊销售额的三分之一都是来自于它的个性化推荐系统。
 
其他:车主识别,美国有一家叫23andMe的新公司提供个人的DNA测试分析,以发现一些疾病征兆。苹果公司的史蒂夫·乔布斯尝试了非常不同的方法。他得了癌症后,就有了自己全部的基因密码,数十亿的碱基对测序。这花费了他超过10万美元的成本,但这可以让医生完整地洞察他的基因密码。每当药物由于乔布斯的癌症病变而失去有效性,他们就可以根据乔布斯特定的基因信息,寻找到有效的替代药物。遗憾的是,这也没有保住乔布斯的命,但是在这一过程中获得的数据,已经延长了他的生命。使用大数据分析,每分钟可以搜集这些婴儿超过一千个数据点,麦格雷戈发现一个令人震惊的事实:每当这些早产儿出现非常稳定的标志时,他们的身体其实并不稳定,正在准备发病。有了这方面的知识,她就能在一个非常早期的阶段,确定婴儿是否需要药物治疗,从而挽救更多孩子的生命。
三、大数据下供应链变化
从供应链管理的维度上,企业建立基于消费者个体信息的数据库,并在此基础上,整合供应链管理信息,开展供应链协同营销,是降低营销成本,提升竞争力的重要方向。基于互动媒体、数据库及利害关系管理的互动式整合营销传播即能满足企业的这种需求,它强调,供应链上的企业应将建立关系的对象,从顾客扩大到包含供应商、经销商、组织内部人员、投资者等多方利益相关者,同时在销售、营销、顾客服务等方面建立更深层次的合作关系。
 
以零售供应链为例
1、实时交付管理 
 跟踪交货装运货物已有所改善。大数据有助于进一步改善它,通过启用实时交付管理,分析天气,交通,和卡车位置反馈来确定准确的交货时间。传感器可以用来跟踪高价物品装运。来自几个物流供应商的服务,如联邦快递SenseAware,通过提供实时信息让你在传播过程中控制你的供应链,在装运的环境条件,它的位置,它是否已被打开等等。 
 
这个功能可以帮助零售商实现运输易腐或高价产品或需要跟踪他们的出货量等其他原因。好消息是,解决方案可以实现无需重大改变现有的供应链设置的大部分工作,重点在整合不同的数据源。
 
2、提高订单拣货
订单拣货是一个劳动密集型的过程。如果订单可以更快,它们可以出货更快,更好的执行订单。大型零售商使用各种自动化机制快速选择命令,但随着大数据甚至是更小的零售商也可以改善订单拣货过程。 
 
大数据解决方案允许来自不同数据源的数据如订单、产品库存、仓库布局和历史分拣时间。通过零售商根据所定义的规则一起分析以改善整体的拣货过程。这个解决方案还可以在仿真模式下帮助改进订单拣货过程。在设计仓库和商店最后过程之前,订单拣货过程可以在仿真模式下进行优化通过调整不同的参数和设置,以最小影响仓库或存储。
 
3、更好的供应商管理
大多数零售商在他们的供应链有多个供应商,包括船舶供应商、第三方物流供应商、运输供应商和包装供应商。大数据分析解决方案对一组关键性能指标(KPI)启用实时评估的供应商绩效管理。 这些KPI包括供应商的盈利能力、及时的服务和客户的反馈和投诉。KPI与供应商系统实时跟踪通过整合。
 
KPI与供应商系统通过整合实时跟踪、财政投入(比如商品成本)、社交网络源相关供应商交货和产品包装,如果KPI不在定义的范围内,规则可以创建生成警报。这些实时分析解决方案确保服务质量和供应商业务的盈利能力保持在所需的水平而不需要任何额外的努力。 厂商也受益,因为他们知道究竟什么是要求他们继续保持您的业务。
 
4、自动化产品采购
由于产品缺货失去收入是痛苦的。大数据解决方案通过实时视图产品需求、产品销售和采购流程,帮助克服这一挑战。此外,一旦大数据解决方案部署,零售商可以停止标记某些产品的“延期交货”,因为他们总是知道确切的交货时间为他们采购,这也减少了废弃的购物车的数量。实际交货期与客户通过显示一个准确航运窗口前的订单共享,从而减少查询的订单。 
 
自动化解决方案的产品采购分析购买历史,产品交货期,和其他因素,可能会影响产品销售,如市场推广或天气变化。 在多个仓库或直接发运供应商的情况下,解决方案可以从不同的位置使用数据来确定源产品的最佳方式。
 
5、个性化或分段供应链
现今越来越多的顾客需要个性化的客户服务和个性化的产品。 通过大数据,零售商可以分析客户交互所在的所有渠道——社会、移动和web -确定客户是如何使用所购买的产品或如何购买。
 
例如,零售商可以部分提供一些购物者可配置产品的供应链,在那里他们可以选择特性,如颜色或有线与无线。 一段不同的顾客可以获得产品环保,和另一段可能会提供增值等功能包装。 所有这一切都可以做到实时匹配可用的产品与目标客户群体。 这将增加零售商总收入并提高盈利能力。沃尔玛:飓风来临之前,飓风用品和蛋挞放一起。 
 
结论 :大数据提高供应链还有许多其他的方式 
    []供应商管理库存,直接连接到客户的系统。[/][]实时财务分析、计划和预测,以避免不必要的意外或成本。[/][]通过与合作伙伴收入共享即时满足商品。大多数的这些改进要求必须首先是合理的,忽略了大数据炒作的投资。[/]

 
四、我们的理解——客观面对"大" "数据"
我们的理解:大数据和贝叶斯理论(观点将随事实的改变而改变)有相似和共同之处:事实越多,观点也就越准确。
 
大数据是否可以全信?
如果亨利·福特问大数据他的顾客想要的是什么,大数据将会回答,“一匹更快的马。”如果依靠大数据,很显然只会得到错误的结论。在大数据的世界中,包括创意、直觉、冒险精神和知识野心在内的人类特性的培养显得尤为重要,因为进步正是源自我们的独创性。 
 
卓越的才华并不依赖于数据。史蒂夫·乔布斯多年来持续不断地改善Mac笔记本,依赖的可能是行业分析,但是他发行的iPod、iPhone和iPad靠的就不是数据,而是直觉——他依赖于他的第六感。当记者问及乔布斯苹果推出iPad之前做了多少市场调研时,他那个著名的回答是这样的:“没做!消费者没义务去了解自己想要什么。” 
 
效用层叠:“效用层叠”是一连串的自持事件,它可能开始于相对将要事件的媒体报道,然后引起公众恐慌和大规模群体行动。有些情况下,关于某一风险的媒体报道能抓住部分公众的注意力,这部分注意力进而会变成激愤和焦虑,而这种情感本身也是一种宣扬,会推进媒体跟进报道,继而会使人产生更大的焦虑,波及面也会更大。此时数据变得不可信。

比如:拉夫运河灾难、艾拉恐慌。

实例:在2013年4月,一家新闻机构的Twitterfeed被黑客攻击,该黑客发出了虚假的tweet,声称白宫正受到攻击。这则消息导致几家投资机构开始抛售股票,最终让这些公司遭遇巨大的财产损失。

这样的故事给我们敲响了警钟,数据,即使是大数据,并不一定是准确或者可行的。
 
五、结语
大数据提供的不是最终答案,只是参考答案,为我们提供暂时的帮助,以便等待更好的方法和答案出现。这也提醒我们在使用这个工具的时候,应当怀有谦恭之心,铭记人性之本。
 
物流专业男生组倾情打造分享!

Elasticsearch使用过程中的一些问题和解决方法

being 发表了文章 0 个评论 5920 次浏览 2016-05-15 02:53 来自相关话题

Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务。它是基于Apache Lucene搜索引擎的类库创建的,提供了全文搜索能力、多语言支持、专门的查询语言、支持地理位置服务、基于上下文的搜索建议、自动完成以及搜索片段(snippet)的 ...查看全部
Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务。它是基于Apache Lucene搜索引擎的类库创建的,提供了全文搜索能力、多语言支持、专门的查询语言、支持地理位置服务、基于上下文的搜索建议、自动完成以及搜索片段(snippet)的能力。Elasticsearch支持RESTful的API,可以使用JSON通过HTTP调用它的各种功能,包括搜索、分析与监控。此外,它还为Java、PHP、Perl、Python以及Ruby等各种语言提供了原生的客户端类库。下面是收集总结了一下使用elasticsearch所遇到的各类问题以及相关的解决方案。
 
1、由gc引起节点脱离集群
现象:
因为当ES节点发生gc(特别是old gc)时会使jvm停止工作,如果某个节点gc时间过长,master ping 3次(zen discovery ping失败重试3次
[默认])不通后就会把该节点剔除出集群,从而导致索引进行重新分配。
解决避免方法:
1、优化gc设置,尽量减少gc时间。


2、调大zen discovery的重试次数(es参数:ping_retries)和超时时间(es参数:ping_timeout)。


3、注意硬盘的监控避免因为节点空间不足造成性能下降和出现脱离节点的问题。
 
2、out of memory错误
现象:
因为默认情况下ES对字段数据缓存(Field Data Cache)大小是无限制的,查询时会把字段值放到内存,特别是facet查询,对内存要求非常高,它会把结果都放在内存,然后进行排序等操作,一直使用内存,直到内存用完,当内存不够用时就有可能出现out of memory错误。

 解决避免方法:
1、设置es的缓存类型为Soft Reference,它的主要特点是据有较强的引用功能。只有当内存不够的时候,才进行回收这类内存,因此在内存足够的时候,它们通常不被回收。另外,这些引用对象还能保证在Java抛出OutOfMemory异常之前,被设置为null。它可以用于实现一些常用图片的缓存,实现Cache的功能,保证最大限度的使用内存而不引起OutOfMemory。在es的配置文件加上index.cache.field.type: soft即可。


2、设置es最大缓存数据条数和缓存失效时间,通过设置index.cache.field.max_size: 50000 来把缓存field的最大值设置为50000,设置index.cache.field.expire: 10m 把过期时间设置成10分钟。
3、无法创建本地线程问题
ES恢复时报错,如下:
RecoverFilesRecoveryException[[index][3] Failed to transfer [215] files with total size of [9.4gb]]; nested: OutOfMemoryError[unable to create new native thread]; ]]

 解决避免方法:
刚开始以为是文件句柄数限制,但想到之前报的是too many open file这个错误,并且也把数据改大了。查资料得知一个进程的jvm进程的最大线程数为:虚拟内存 /(堆栈大小10241024),也就是说虚拟内存越大或堆栈越小,能创建的线程越多。
重新设置后还是会报这个错,按理说可创建线程数完全够用了的,就想是不是系统的一些限制。后来在网上找到说是max user processes的问题,这个值默认是1024,这个参数单看名字是用户最大打开的进程数,但看官方说明,就是用户最多可创建线程数,因为一个进程最少有一个线程,所以间接影响到最大进程数。调大这个参数后就没有报这个错了。
1、增大jvm的heap内存或降低xss堆栈大小(默认的是512K)。
2、打开/etc/security/limits.conf 把soft  nproc  1024这行的1024增大。
4、集群状态为黄色时并发插入数据报错
[7]: index [index], type [index], id [1569133], message [UnavailableShardsException[[index][1] [4] shardIt, [2] active : Timeout waiting for [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@5989fa07]]
这是错误信息,当时集群状态为黄色,即副本没有分配。当时副本设置为2,只有一个节点,当你设置的副本大于可分配的机器时,此时如果你插入数据就有可能报上面的错,因为es的写一致性默认是使用quorum,即quorum值必须大于(副本数/2+1),我这里2/2+1=2也就是说要要至少插入到两份索引中,由于只有一个节点,quorum等于1,所以只插入到主索引,副本找不到从而报上面那个错。
 
解决避免方法:
1、去掉没分配的副本
2、把写一致性改成one,即只写入一份索引就行。
5、设置jvm锁住内存时启动警告
当设置bootstrap.mlockall: true时,启动es报警告Unknown mlockall error 0,因为linux系统默认能让进程锁住的内存为45k。
 
解决方法:
设置为无限制,linux命令:
ulimit -l unlimited
6、错误使用api导致集群卡死
其实这个是很低级的错误。功能就是更新一些数据,可能会对一些数据进行删除,但删除时同事使用了deleteByQuery这个接口,通过构造BoolQuery把要删除数据的id传进去,查出这些数据删除。但问题是BoolQuery最多只支持1024个条件,100个条件都已经很多了,所以这样的查询一下子就把es集群卡死了。
 
解决方法:
用bulkRequest进行批量删除操作。
 
7、org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
原因:
es节点之间的JDK版本不一样
 
解决方法:统一JDK环境
 

8、org.elasticsearch.client.transport.NoNodeAvailableException: No node available
1) 端口错
client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));
这里9300 写成9200的话会No node available
要是你连的不是本机,注意IP有没有正确
2 )jar报引用版本不匹配,开启的服务是什么版本,引用的jar最好匹配(这个我没有去试,反正我的是匹配的)

3) 要是你改了集群名字,还有设置集群名字
Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "xxx").build();
client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));
4)集群超过5s没有响应

解决方法:
1.设置client.transport.ping_timeout设大
             
 2.代码内加入
while (true) {
try {
bulk.execute().actionGet(getRetryTimeout());
break;
}
catch (NoNodeAvailableException cont) {
Thread.sleep(5000);
continue;
}
}

9.elasticsearch 近日被发现漏洞,可以远程执行任意代码,由于elasticsearch提供了http接口,导致可能通过CSRF等方式借助恶意页面浏览发生攻击。 漏洞影响版本:
elasticsearch 1.2以下
 测试代码:  浏览器会返回/etc/passwd内容解决方案:

1、在配置文件elasticsearch.yml里设置script.disable_dynamic: true

2、严格限制可访问elasticsearch服务的IP地址

参考:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_disabling_dynamic_scripts
重启后报503错误 
详情如此下:
[2015-09-23 17:42:33,499][WARN ][transport.netty          ] [Erik Magnus Lehnsherr] Message not fully read (request) for [4961353] and 
action [discovery/zen/join/validate], resetting
[2015-09-23 17:42:33,522][INFO ][discovery.zen ] [Erik Magnus Lehnsherr] failed to send join request to master [[Red Lotus][
UG2WbJpDTHOB-EjzJFRsow][n025.corp.ncfgroup.com][inet[/10.18.6.25:9300]]], reason [org.elasticsearch.transport.RemoteTransportException:
[Red Lotus][inet[/10.18.6.25:9300]][discovery/zen/join]; org.elasticsearch.transport.RemoteTransportException: [Erik Magnus Lehnsherr]
[inet[/10.18.6.90:9300]][discovery/zen/join/validate]; org.elasticsearch.ElasticsearchIllegalArgumentException: No custom index metadat
a factory registered for type [rivers]]
问题原因:都采用默认集群名字的话,不同人不同I配置发到集群会进行连接并选Master,有时候可能因为IP限制连接不上。
更改:自己的测试服务尽量个性命名。

大数据的应用方向

Nock 发表了文章 0 个评论 2933 次浏览 2016-05-10 23:57 来自相关话题

在说大数据的应用之前,让我们先来说说大数据与大规模数据、海量数据的差别: 从对象角度看,大数据是大小超出典型数据库软件采集、储存、管理和分析等能力的数 据集合。需要注意的是,大数据并非大量数据的简单无意义的堆积,数据量大并不意味着一定具有可观的利用 ...查看全部
在说大数据的应用之前,让我们先来说说大数据与大规模数据、海量数据的差别:
从对象角度看,大数据是大小超出典型数据库软件采集、储存、管理和分析等能力的数 据集合。需要注意的是,大数据并非大量数据的简单无意义的堆积,数据量大并不意味着一定具有可观的利用前景。由于最终目标是从大数据中获取更多有价值的“新”信息,所以必然要求这些大量的数据之间存在着或远或近、或直接或间接的关联性,才具有相当的分析挖掘价值。数据间是否具有结构性和关联性,是“大数据”与“大规模数据”的重要差别。 

从技术角度看,大数据技术是从各种各样类型的大数据中,快速获得有价值信息的技术及其集成。“大数据”与“大规模数据”、“海量数据”等类似概念间的最大区别,就在于“大数据”这一概念中包含着对数据对象的处理行为。为了能够完成这一行为,从大数据对 象中快速挖掘更多有价值的信息,使大数据“活起来”,就需要综合运用灵活的、多学科的 方法,包括数据聚类、数据挖掘、分布式处理等,而这就需要拥有对各类技术、各类软硬件的集成应用能力。可见,大数据技术是使大数据中所蕴含的价值得以发掘和展现的重要工具。 

从应用角度看,大数据是对特定的大数据集合、集成应用大数据技术、获得有价值信息的行为。正由于与具体应用紧密联系,甚至是一对一的联系,才使得“应用”成为大数据 不可或缺的内涵之一。 

需要明确的是,大数据分析处理的最终目标,是从复杂的数据集合中发现新的关联规则,继而进行深度挖掘,得到有效用的新信息。如果数据量不小,但数据结构简单,重复性高,分析处理需求也仅仅是根据已有规则进行数据分组归类,未与具体业务紧密结合,依靠 已有基本数据分析处理技术已足够,则不能算作是完全的“大数据”,只是“大数据”的初 级发展阶段。
 


典型的大数据应用实例


从谷歌流感趋势看大数据的应用价值
谷歌有一个名为“谷歌流感趋势”的工具,它通过跟踪搜索词相关数据来判断全美地区的流感情况(比如患者会搜索流感两个字)。近日,这个工具发出警告,全美的流感已经进 入“紧张”级别。它对于健康服务产业和流行病专家来说是非常有用的,因为它的时效性极 强,能够很好地帮助到疾病暴发的跟踪和处理。事实也证明,通过海量搜索词的跟踪获得的 趋势报告是很有说服力的,仅波士顿地区,就有700例流感得到确认,该地区目前已宣布进 入公共健康紧急状态。 

这个工具工作的原理大致是这样的:设计人员置入了一些关键词(比如温度计、流感症 状、肌肉疼痛、胸闷等),只要用户输入这些关键词,系统就会展开跟踪分析,创建地区流 感图表和流感地图。谷歌多次把测试结果(蓝线)与美国疾病控制和预防中心的报告(黄线) 做比对,从图 1-1 可知,两者结论存在很大相关性。
data.png

图 1-1 谷歌把测试结果(蓝线)与美国疾病控制和预防中心的报告(黄线)做比对 但它比线下收集的报告强在“时效性”上,因为患者只要一旦自觉有流感症状,在搜索 和去医院就诊这两件事上,前者通常是他首先会去做的。就医很麻烦而且价格不菲,如果能 自己通过搜索来寻找到一些自我救助的方案,人们就会第一时间使用搜索引擎。故而,还存 在一种可能是,医院或官方收集到的病例只能说明一小部分重病患者,轻度患者是不会去医院而成为它们的样本的。
 
大数据在医疗行业的应用
Seton Healthcare是采用IBM最新沃森技术医疗保健内容分析预测的首个客户。该技术允许企业找到大量病人相关的临床医疗信息,通过大数据处理,更好地分析病人的信息。 

在加拿大多伦多的一家医院,针对早产婴儿,每秒钟有超过3000次的数据读取。通过这些数据分析,医院能够

Hadoop新手学习指导之入门需知

大讲台网 发表了文章 0 个评论 2443 次浏览 2016-05-09 10:47 来自相关话题

零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。从一开始什么都不懂,到能够搭建集群,开发。整个过程,只要有Linux基础,虚拟机化和java基础,其实hadoop并没有太大的困难。下面整理一下整个学习过程,给大家一个参考。 ...查看全部
零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易。从一开始什么都不懂,到能够搭建集群,开发。整个过程,只要有Linux基础,虚拟机化和java基础,其实hadoop并没有太大的困难。下面整理一下整个学习过程,给大家一个参考。
程序员员.jpg

 
首先我们要了解hadoop是什么?Hadoop能够做什么?Hadoop的使用场景是什么?Hadoop和大数据、云计算的关系是什么?如何使用hadoop?

当大家对这些问题有了基本的了解之后,接下来我们就要系统性的学习hadoop了。我个人建议大家不要一味的去学习理论知识,最好是理论和实践相结合,可以先跟着视频和文档去操作,先把伪分布式集群搭建起来,把wordcount实例运行起来,对hadoop集群的搭建过程和运行机制有个大概的了解和认知,然后从操作的过程中去发现自己在哪方面是薄弱点,有针对性的去弥补,这样学习就会更有针对性和目的性,学习效果也相对会更好一些,否则学习会很盲目、很痛苦的。

我们知道hadoop有单机模式,伪分布模式和分布式模式。同时hadoop的环境是Linux,所以我们还需要安装Linux系统。因为我们的习惯是使用windows,所以对于Linux上来就安装软件之类的,困难程度会很大。并且我们要搭建集群,需要多台硬件的,不可能为了搭建集群,去买三台电脑。所以从成本和使用的角度我们还需要懂虚拟化方面的知识。这里的虚拟化其实就是我们需要懂得虚拟机的使用。因为hadoop安装在Linux中,才能真正发挥作用。所以我们也不会使用windows。

基于以上内容。所以我们需要懂得:
    []虚拟化[/][]Linux[/][]java基础[/]

 
下面我们来详细介绍:
虚拟化:我们选择的是VMware Workstation,这里就要求我们会搭建虚拟机,安装linux(如centos)操作系统,这方面只要按照视频操作应该还是很简单的,难点在于虚拟机网络的配置,尤其是nat模式和bridge模式,因为hadoop要求主机与虚拟机与外部网络(能上网),这三者是相通的,都能够连接上网络,只有这样在安装的过程中,才不会遇到麻烦。
 
Linux:对于Linux的学习也是一个过程,因为可能你连最简单的开机和关机命令都不会,更不要谈配置网络。常用的linux命令也就20多种,我们需要做的就是在搭建集群的过程中不断地加强练习,在实践中去记忆。但是我们会遇到各种不会的命令,即使能查到命令,我们也不能使用。为什么会这样,因为有的命令,是需要使用安装包的。所以我们也要学会如何下载安装包。
 
我们需要使用一些命令,进行网络配置,但是在网络配置中,这里面又必须懂得虚拟机的一些知识,所以前面的虚拟机知识需要掌握扎实一些。

对于有linux基础的学员也可以选择hadoop运维工程师作为职业选择。

提醒大家切忌浮躁,我们不可能一两天就能完成上面的所有内容,我们至少需要花费一周的时间不断地去训练、强化。只要我们熟悉了Linux命令,熟悉了网络知识。后面我们的学习才会很轻松,很快速。

通过以上的学习我们已经会安装集群了,那么接下来我们就需要进入开发阶段。开发零基础,该怎么办呢?

hadoop编程是一个Java框架,同时也是编程的一次革命,使得传统开发运行程序由单台客户端(单台电脑)转换为可以由多个客户端运行(多台机器)运行,使得任务得以分解,这大大提高了效率。
 
hadoop既然是一个Java框架,因此就要求我们必须要懂Java,网上有大量的资料,所以学习Java不是件难事。但是学到什么程度,可能是我们零基础同学所关心的。
 
Java:我们需要具备javaSE基础知识,暂时不需要java Web及各种框架知识。如果没有javaSE基础,建议在学习hadoop之前或过程中要加强这方面的学习和训练。当然有java基础和开发经验的学员学习hadoop就会更快速、更轻松。


作者:大讲台助教--hadoop旅人
欢迎加入Hadoop学习交流群:361654649。


大数据的产生和力量

Nock 发表了文章 0 个评论 4079 次浏览 2016-05-08 23:01 来自相关话题

大数据的产生 人类历史上从未有哪个时代和今天一样产生如此海量的数据。数据的产生已经完全不受 时间、地点的限制。从开始采用数据库作为数据管理的主要方式开始,人类社会的数据产生方式大致经历了3个阶段,而正是由于数据产生的方式发生巨大变化, ...查看全部


大数据的产生


人类历史上从未有哪个时代和今天一样产生如此海量的数据。数据的产生已经完全不受 时间、地点的限制。从开始采用数据库作为数据管理的主要方式开始,人类社会的数据产生方式大致经历了3个阶段,而正是由于数据产生的方式发生巨大变化,最终导致大数据的产生。 
 
1、运营式系统阶段 
数据库的出现使得数据管理的复杂度大大降低,实际情况中数据库大多被运营系统所采用,作为运营系统的数据管理子系统。比如超市的销售记录系统,银行的交易记录系统、医院病人的医疗记录等。人类社会数据量第一次大的飞跃正是建立在运营式系统开始广泛使用数据库开始。这个阶段最主要特点是数据往往伴随着一定的运营活动而产生并记录在数据库中的,比如超市每销售出一件产品就会在数据库中产生相应的一条销售记录。这种数据的产生方式是被动的。 
 
2、用户原创内容阶段
互联网的诞生促使人类社会数据量出现第二次大的飞跃。但是真正的数据爆发产生于 Web 2.0时代,而Web 2.0的最重要标志就是用户原创内容(UGC,User Generated Content)。这类数据近几年一直呈现爆炸性的增长,主要有如下两方面的原因。

首先是以博客、微博/微信为代表的新型社交网络的出现和快速发展,使得用户产生数据的意愿更加强烈。其次就是以智能手机、平板电脑为代表的新型移动设备的出现,这些易携带、全天候接入网络的移动设备使得人们在网上发表自己意见的途径更为便捷。这个阶段数据的产生方式是主动的。
 
3、感知式系统阶段
人类社会数据量第三次大的飞跃最终导致了大数据的产生,今天我们正处于这个阶段。这次飞跃的根本原因在于感知式系统的广泛使用。随着技术的发展, 人们已经有能力制造极其微小的带有处理功能的传感器,并开始将这些设备广泛的布置于社会的各个角落,通过这些设备来对整个社会的运转进行监控。这些设备会源源不断的产生新数据,这种数据的产生方式是自动的。 

简单来说,数据产生经历了被动、主动和自动三个阶段。这些被动、主动和自动的数据 共同构成了大数据的数据来源,但其中自动式的数据才是大数据产生的最根本原因。
data1.png

正如Google的首席经济学家Hal Varian所说,数据是广泛可用的,所缺乏的是从中

何为大数据?

Nock 发表了文章 0 个评论 2583 次浏览 2016-05-06 18:50 来自相关话题

大数据的触点 随着以博客(信息大门的开放)、社交网络、基于位置的服务LBS为代表的信息发布方式的不断涌现,以及大数据、云计算、物联网和智能化、虚拟等技术的兴起,数据以N倍的速度在不断增长和累积,这就是面临着大数据时代的到来,从而让我们面临对大数据快 ...查看全部
大数据的触点
随着以博客(信息大门的开放)、社交网络、基于位置的服务LBS为代表的信息发布方式的不断涌现,以及大数据、云计算、物联网和智能化、虚拟等技术的兴起,数据以N倍的速度在不断增长和累积,这就是面临着大数据时代的到来,从而让我们面临对大数据快速处理和挖掘的问题。

最早提出“大数据时代”到来的公司是全球知名咨询公司麦肯锡.麦肯锡称:数据已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”大数据”在物理学、生物学、环境生态学等领域以及军事、金融、通讯、服务等行业已经潜伏已久,却因为近年来互联网和信息行业的快速发展让大数据赢得了人们的眼球。

几组数据:
1、根据IDC做出的估测,数据以每年50%的速度增长,也就是每2年增长一倍(大数据摩尔定律),这意味着人类在最近两年产生的数据量相当于之前产生的全部数据量。

2、预计到2020年,全球将总共拥有35ZB的数据量,相较于2010年,数据量将增长近30倍。

总结
这不是简单的数据增多的问题,而是全新的问题。举例来说,在当今全球范围内的工业 设备、汽车、电子仪表和装运箱中,都有着无数的数字传感器,这些传感器能测量和交流位 置、运动、震动、温度和湿度等数据,甚至还能测量空气中的化学变化。将这些交流传感器 与计算智能连接起来,就是目前“物联网”(Internet of Things)或“工业互联网”(Industrial Internet)。在信息获取的问题上取得进步是促进“大数据”趋势发展的重要原因。物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。

大数据的特点
从当前的互联网就可以看出,“大数据”是时下最火热的IT行业词汇。其实,早在1980 年,著名未来学家阿尔文·托夫勒便在《第三次浪潮》一书中,将大数据热情地赞颂为“第三次浪潮的华彩乐章”。不过,大约从2009年开始,“大数据”才成为互联网信息技术行业的流行词汇。 

那么,如何给大数据下一个定义呢?一般而言,大家比较认可关于大数据的4V说法。大数据的4个“V”,或者说是大数据的四个特点:
1、数据体量巨大。从TB级别跃升到PB级别; 
2、数据类型繁多。比如网络日志、视频、图片、地理位置信息等等; 
3、价值密度低,商业价值高。以视频为例,连续不间断监控过程中,可能有用的数据只有一两秒;
4、处理速度快。1秒定律。 
最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为 4 个“V”——Volume,Variety,Value,Velocity。 

大数据特征
舍恩伯格的《大数据时代》受到了广泛的赞誉,他本人也因此书被视为大数据领域中的领军人物。在舍恩伯格看来,大数据一共具有三个特征: 
1、全样而非抽样;
2、效率而 非精确; 
3、相关而非因果。 

第一个特征非常好理解。在过去,由于缺乏获取全体样本的手段,人们发明了“随机调研数据”的方法。理论上,抽取样本越随机,就越能代表整体样本。但问题是获取一个随机样本代价极高,而且很费时。人口调查就是典型一例,一个稍大一点的国家甚至做不到每 年都发布一次人口调查,因为随机调研实在是太耗时耗力了。 

但有了云计算和数据库以后,获取足够大的样本数据乃至全体数据,就变得非常容易了。谷歌可以

优定制:用好网页性能监控 提升网站收益

回复

cloudwise 发起了问题 1 人关注 0 个回复 5081 次浏览 2016-05-06 14:23 来自相关话题