Linux下Json格式化神器jq

运维 Geek小A 发表了文章 0 个评论 16667 次浏览 2016-05-13 00:14 来自相关话题

JSON是前端编程经常用到的格式,对于PHP或者Python,解析JSON都不是什么大事,尤其是PHP的json_encode和json_decode非常好用。然后Linux下也有这样的神器就是jq命令,对于运维平常处理json格式的文件有很大帮助! ...查看全部
JSON是前端编程经常用到的格式,对于PHP或者Python,解析JSON都不是什么大事,尤其是PHP的json_encode和json_decode非常好用。然后Linux下也有这样的神器就是jq命令,对于运维平常处理json格式的文件有很大帮助!
 
   对于JSON格式而言,jq就像sed/awk/grep这些神器一样的方便,而且jq没有乱七八糟的依赖,只需要一个binary文件jq,就足矣。


一、安装


Centos:
# yum -y install jq

Ubuntu:
# apt-get -y install jq


二、使用


1、格式化Json
# cat json_test.txt
{"name":"WuDi","location":{"street":"ZhongShanLu","city":"BeiJing","age":"26","country":"CN"},"employees":[{"name":"Mark","division":"DevOps"},{"name":"Lucy","division":"HR"},{"name":"Elise","division":"Marketing"}]}
上面的JSON是PHP json_encode之后,echo出来的字符串,很明显,可读性太差。前一阵子写文档,需要将前后段JSON写入文档,我当时是用是网上的JSON格式化工具做的。事实上,jq就可以检查JSON的合法性,并把JSON格式化成更友好更可读的格式:
json1.png

看到上图,将一团乱麻的JSON格式化成个更可读的形式。其实背后另外检查了JSON的合法性。如果JSON不合法,jq .会报错。我故意写个错误的JSON:  
json_error.png

 
2、JSON解析
如上图json,jq是如何解析JSON,根据key获取value? 
 {
“key_1”:"value_1",
“key_2”:"value_2",
}
如何根据key获取value?
jq '.key'
json2.png

解析不存在的元素,会返回null
json3.png

 
3、JSON nested parse(嵌套解析) 
[root@workingh ~]# cat json_test.txt | jq '.location.city'
"BeiJing"
4、JSON parse array
[root@workingh ~]# cat json_test.txt | jq '.employees[1].name'
"Lucy"
5、内建函数
jq还有一些内建函数如 key,has
 
key是用来获取JSON中的key元素的:
[root@workingh ~]# cat json_test.txt | jq 'keys'
[
"employees",
"location",
"name"
]
has是用来是判断是否存在某个key: 
[root@workingh ~]# cat json_test.txt | jq 'has("location")'
true
[root@workingh ~]# cat json_test.txt | jq 'has("xxoo")'
false
与JSON相关的我就暂时介绍到这里,希望进一步了解jq并使用的可以去http://stedolan.github.io/jq/manual/.希望了解源码实现的,可以去https://github.com/stedolan/jq;意料之中的事情是作者用来flex和bison来parse json。我们的示例JSON来自参考文献第一篇。用google搜索,kernalpanic中有篇文章介绍了jshon和json.sh提供了另外的思路。
 
参考:
How to parse JSON string via command line on Linux
Parsing JSON with jq

14流行的基于JavaScript的数据可视化工具

编程 push 发表了文章 0 个评论 3572 次浏览 2016-05-11 21:58 来自相关话题

俗话说,一图胜千言。图形化的信息可以让人们对数据有更加直观清晰的理解,让信息发布者更加高效地展示自己的核心内容。在前端开发中,如果缺少合适工具,制作数据可视化图表会十分复杂。然而随着数据可视化概念逐年火热,有较多优秀的图表开源库和制作工具脱颖而出。下面,我们就 ...查看全部
俗话说,一图胜千言。图形化的信息可以让人们对数据有更加直观清晰的理解,让信息发布者更加高效地展示自己的核心内容。在前端开发中,如果缺少合适工具,制作数据可视化图表会十分复杂。然而随着数据可视化概念逐年火热,有较多优秀的图表开源库和制作工具脱颖而出。下面,我们就拿其中比较有名的 14个产品进行简要介绍。
 
AnyChart(http://www.anychart.com/ )
AnyChart 是基于 Flash/JavaScript(HTML5) 的图表解决方案,它可以轻松地跨浏览器、跨平台工作。除了基础的图表功能外,它还有收费的交互式图表和仪表功能。它可以通过 XML 格式获取数据,该方式让开发人员非常灵活地控制图表上的每一个数据点,而当图表数据点数量偏大时,则可以采用 CSV 数据输入,减小数据文件大小和图表加载时间。
 
AmCharts(http://www.amcharts.com/ )
AmCharts 是一款高级图表库,致力于对 Web 上的数据可视化提供支持。它所支持的图表包括柱状图、条状图、线图、蜡烛图、饼图、雷达、极坐标图、散点图、燃烧图和金字塔图等等。amCharts 库是一款完全独立的类库,在应用中不依赖任何其他第三方类库,就可直接编译运行。除了提供最基本的规范要素外,amCharts 还提供了交互特性。用户在浏览基于 amCharts 制作的图表时,用鼠标 hover 图表内容,可以与其进行交互,使图表展示细节信息,其中呈现信息的容器被叫做 Balloon(气球)。除此之外图表可以动态动画的形式被绘制出来,带来了了非常好的展示效果。
 
Cesium(http://cesiumjs.org/ )
Cesium 同样专注于地理数据可视化,它是一个 Javascript 库,可以在 Web 浏览器中绘制 3D/2D 地球。无需任何插件即可基于 WebGL 来进行硬件加速。除此之外,它还有跨平台、跨浏览器的特性。Cesium 本身基于 Apache 开源协议,支持商业及非商业项目。
 
Chart.js(https://gionkunz.github.io/chartist-js/ )
Chartist.js 是一个非常简单而且实用的 JavaScript 图表生成工具,它支持 SVG 格式,图表数据转换灵活,同时也支持多种图表展现形式。在工程中,Chartist.js 的 CSS 和 JavaScript 分离,因此代码比较简洁,在应用时配置流程十分简单。它生成的是响应式图表,可以自动支持不同的浏览器尺寸和分辨率,更多的是,它也支持自定义 SASS 架构。
 
D3.js(http://vis.stanford.edu/papers/d3 )
2011年,Mike Bostock、Vadim Ogievetsky 和 Jeff Heer 发布了 D3,它是目前 Web 端评价最高的 Javascript 可视化工具库。D3 能够向用户提供大量线性图和条形图之外的复杂图表样式,例如 Voronoi 图、树形图、圆形集群和单词云等等。它的优点是实例丰富,易于实现调试数据同时能够通过扩展实现任何想到的数据可视化效果,缺点是学习门槛比较高。与 jQuery 类似,D3 直接对 DOM 进行操作,这是它与其它可视化工具的主要区别所在:它会设置单独的对象以及功能集,并通过标准 API 进行 DOM 调用。
 
echarts(http://echarts.baidu.com/ )
一款免费开源的数据可视化产品,给用户提供直观、生动、可交互和可个性化定制的数据可视化图表。Echarts 上手简单。其具有的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,帮助用户在对数据挖掘、整合时大幅提高效率。同时,Echarts 提供了丰富的图表类型,除了常见的折柱饼,还支持地图、力导向图、treemap、热力图、树图等等。更惊艳的是,它还支持任意维度的堆积和多图表混合展现。总而言之,这是一款让我们非常惊喜的可视化产品,非常强大,不过他图表不是很美观,对移动端的支持也还有些欠缺,不过这些问题在官方最新发布的3.0 beta中得到了很大改善。
 
Flot(http://www.flotcharts.org/ )
Flot 是一个纯 Javascript 绘图库,作为 jQuery 的插件使用。它可以较为轻松地跨浏览器工作,甚至包括 IE6。因为 jQuery 的特性,开发者可以全面地控制图表的动画、交互,把数据的呈现过程优化得更加完美。
 
FusionCharts(http://www.fusioncharts.com/ )
FusionCharts Free 是可跨平台、跨浏览器的 Flash 图表解决方案,它能够被 ASP、.NET、PHP、JSP、ColdFusion、Ruby on Rails、简单 HTML 页面甚至 PPT 调用。在使用过程中,用户原则上并不需要知道任何 Flash 的知识,只需要了解你所用的编程语言,并进行简单的调用即可以实现应用。
 
Google Charts (https://developers.google.com/chart/)
有没有必要过多的介绍这里谷歌图表。 我相信大多数读者都熟悉这个工具,它是功能强大,易于使用,而且免费。
 
HighCharts( http://www.highcharts.com )
HighCharts是一个流行的JavaScript图表库。 它提供了一个简单易用的方式,以互动的图表(S)添加到您的网站或Web应用程序。 输出在现代浏览器和VML在Internet Explorer中使用SVG渲染。 图表精美动画眼帘自动,该框架还支持实时数据流。 更重要的是,它是免费下载和使用非商业(以及可授权用于商业用途)。 目前,它支持线,样条曲线,面积,areaspline,柱形图,条形图,饼图,散点图,角规,arearange,areasplinerange,columnrange,气泡,箱形图,误差线,漏斗,瀑布和极地图表类型。
 
Leaflet (http://leafletjs.com/ )
Leaflet是一个开源的JavaScript库,在所有主要的桌面和移动平台的作品。 单张使得它易于使用OpenStreetMap的数据,并在HTML5 / CSS3包装完全集成交互式数据可视化。 这是非常轻(仅为33KB),并有很多的功能作出任何种类的地图。 因此,常常被用于需要展示地理位置的项目。
 
MetricsGraphics( http://metricsgraphicsjs.org/ )
MetricsGraphics.js 是一个基于 D3,为可视化和时间序列化的数据而优化的库。它提供了一种便捷的方法,用一致且响应式方式来产生相同类型的图形。它现在支持折线图、散点图、直方图、地毯图和基本的线性回归图。同时,它体积非常小巧,通常可以控制在 60kb 之内。
 
Sigma.js( http://sigmajs.org )
Sigma.js是一个JavaScript库,这是专门为使用HTML5 canvas元素绘制图表。 这使得轻松地发布在网页上网络,并允许开发人员在富Web应用程序的网络整合的探索。 西格玛提供了很多不同的设置来轻松地自定义绘图的方式。 此外,公共的API,开发人员可以扩大如何与网络交互的可能性越大(如修改数据,移动相机,刷新渲染,监听事件)。
原文链接:
https://www.reddit.com/r/visualization/comments/3wat64/are_you_ready_for_the_era_of_big_data_14_popular

FFmpeg 2.x 远程文件读取漏洞

运维 Rock 发表了文章 0 个评论 2639 次浏览 2016-05-11 00:14 来自相关话题

漏洞描述: FFmpeg 2.x是一款多媒体编码、解码框架,近日爆出高危漏洞可远程窃取本地文件,漏洞编号:CVE-2016-1897、CVE-2016-1898。 此漏洞允许攻击者通过上传构造的hls切片索引文件,远程窃取服务器端本地文件。 ...查看全部
漏洞描述:
FFmpeg 2.x是一款多媒体编码、解码框架,近日爆出高危漏洞可远程窃取本地文件,漏洞编号:CVE-2016-1897、CVE-2016-1898。 此漏洞允许攻击者通过上传构造的hls切片索引文件,远程窃取服务器端本地文件。
 
影响范围:
FFmpeg 2.8.x系列小于2.8.5;
FFmpeg 2.7.x系列小于2.7.5;
FFmpeg 2.6.x系列小于2.6.7;
FFmpeg 2.5.x系列小于2.5.10。
 
漏洞修复:
升级FFmpeg至最新版本:
FFmpeg 2.8.x系列升级至2.8.5或以上;
FFmpeg 2.7.x系列升级至2.7.5或以上;
FFmpeg 2.6.x系列升级至2.6.7或以上;
FFmpeg 2.5.x系列升级至2.5.10或以上。

大数据的应用方向

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

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

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

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

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


典型的大数据应用实例


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

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

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

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

MySQL高可用之MHA

数据库 chris 发表了文章 0 个评论 2674 次浏览 2016-05-10 22:56 来自相关话题

MHA简介​ MHA是由日本人yoshinorim(原就职于DeNA现就职于FaceBook)开发的比较成熟的MySQL高可用方案。MHA能够在30秒内实现故障切换,并能在故障切换中,最大可能的保证数据一致性。目前淘宝也正在开发相似产品TMHA,目 ...查看全部
MHA简介​
MHA是由日本人yoshinorim(原就职于DeNA现就职于FaceBook)开发的比较成熟的MySQL高可用方案。MHA能够在30秒内实现故障切换,并能在故障切换中,最大可能的保证数据一致性。目前淘宝也正在开发相似产品TMHA,目前已支持一主一从。
 
MHA架构
MHA由MHA Manager和MHA Node组成,如下图所示:
mha.png

 
MHA Manager:
运行一些工具,比如masterha_manager工具实现自动监控MySQL Master和实现master故障切换,其它工具实现手动实现master故障切换、在线mater转移、连接检查等等。一个Manager可以管理多个master-slave集群
 
MHA Node:
部署在所有运行MySQL的服务器上,无论是master还是slave。主要作用有三个。
    Ⅰ、保存二进制日志
           如果能够访问故障master,会拷贝master的二进制日志

     II、应用差异中继日志
          从拥有最新数据的slave上生成差异中继日志,然后应用差异日志。

     III、清除中继日志
          在不停止SQL线程的情况下删除中继日志
 
MHA工作原理
mhawork.png

当master出现故障时,通过对比slave之间I/O线程读取masterbinlog的位置,选取最接近的slave做为latestslave。其它slave通过与latest slave对比生成差异中继日志。在latest slave上应用从master保存的binlog,同时将latest slave提升为master。最后在其它slave上应用相应的差异中继日志并开始从新的master开始复制。
 
在MHA实现Master故障切换过程中,MHA Node会试图访问故障的master(通过SSH),如果可以访问(不是硬件故障,比如InnoDB数据文件损坏等),会保存二进制文件,以最大程度保证数据不丢失。MHA和半同步复制一起使用会大大降低数据丢失的危险。
 
当前高可用方案
Heartbeat+DRBD:
    []开销:需要额外添加处于被动状态的master server(并不处理应用流量)[/][]性能:为了实现DRBD复制环境的高可用,innodb-flush-log-at-trx-commit和sync-binlog必须设置为1,这样会导致写性能下降。[/][]一致性:在master上必要的binlog时间可能会丢失,这样slave就无法进行复制,导致产生数据一致性问题[/]
 MySQL Cluster:MySQL Cluster真正实现了高可用,但是使用的是NDB存储引擎,并且SQL节点有单点故障问题。 半同步复制(5.5+)
    []半同步复制大大减少了“binlog events只存在故障master上”的问题。[/][]在提交时,保证至少一个slave(并不是所有的)接收到binlog,因此一些slave可能没有接收到binlog。[/]
全局事务ID​
    []在二进制文件中添加全局事务ID(global transaction id)需要更改binlog格式,在5.1/5.5版本中不支持。[/][]在应用方面有很多方法可以直线全局事务ID,但是仍避免不了复杂度、性能、数据丢失或者一致性的问题。[/]

 
PXC:
PXC实现了服务高可用,数据同步时是并发复制。但是仅支持InnoDB引擎,所有的表都要有主键。锁冲突、死锁问题相对较多等等问题。
 
MHA的优势
1、故障切换快
在主从复制集群中,只要从库在复制上没有延迟,MHA通常可以在数秒内实现故障切换。9-10秒内检查到master故障,可以选择在7-10秒关闭master以避免出现裂脑,几秒钟内,将差异中继日志(relay log)应用到新的master上,因此总的宕机时间通常为10-30秒。恢复新的master后,MHA并行的恢复其余的slave。即使在有数万台slave,也不会影响master的恢复时间。

DeNA在超过150个MySQL(主要5.0/5.1版本)主从环境下使用了MHA。当mater故障后,MHA在4秒内就完成了故障切换。在传统的主动/被动集群解决方案中,4秒内完成故障切换是不可能的。
 
2、master故障不会导致数据不一致
当目前的master出现故障是,MHA自动识别slave之间中继日志(relay log)的不同,并应用到所有的slave中。这样所有的salve能够保持同步,只要所有的slave处于存活状态。和Semi-Synchronous Replication一起使用,(几乎)可以保证没有数据丢失。

3、无需修改当前的MySQL设置
MHA的设计的重要原则之一就是尽可能地简单易用。MHA工作在传统的MySQL版本5.0和之后版本的主从复制环境中。和其它高可用解决方法比,MHA并不需要改变MySQL的部署环境。MHA适用于异步和半同步的主从复制。
 
启动/停止/升级/降级/安装/卸载MHA不需要改变(包扩启动/停止)MySQL复制。当需要升级MHA到新的版本,不需要停止MySQL,仅仅替换到新版本的MHA,然后重启MHA Manager就好了。
 
MHA运行在MySQL 5.0开始的原生版本上。一些其它的MySQL高可用解决方案需要特定的版本(比如MySQL集群、带全局事务ID的MySQL等等),但并不仅仅为了master的高可用才迁移应用的。在大多数情况下,已经部署了比较旧MySQL应用,并且不想仅仅为了实现Master的高可用,花太多的时间迁移到不同的存储引擎或更新的前沿发行版。MHA工作的包括5.0/5.1/5.5的原生版本的MySQL上,所以并不需要迁移。

4、无需增加大量的服务器
MHA由MHA Manager和MHA Node组成。MHA Node运行在需要故障切换/恢复的MySQL服务器上,因此并不需要额外增加服务器。MHA Manager运行在特定的服务器上,因此需要增加一台(实现高可用需要2台),但是MHA Manager可以监控大量(甚至上百台)单独的master,因此,并不需要增加大量的服务器。即使在一台slave上运行MHA Manager也是可以的。综上,实现MHA并没用额外增加大量的服务。

5、无性能下降
MHA适用与异步或半同步的MySQL复制。监控master时,MHA仅仅是每隔几秒(默认是3秒)发送一个ping包,并不发送重查询。可以得到像原生MySQL复制一样快的性能。

6、适用于任何存储引擎
MHA可以运行在只要MySQL复制运行的存储引擎上,并不仅限制于InnoDB,即使在不易迁移的传统的MyISAM引擎环境,一样可以使用MHA。
分享阅读:原文

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

大数据 大讲台网 发表了文章 0 个评论 2459 次浏览 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 个评论 4105 次浏览 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所说,数据是广泛可用的,所缺乏的是从中

在线学习网站推荐

产品设计 OpenSkill 发表了文章 4 个评论 4799 次浏览 2016-05-08 18:23 来自相关话题

1、腾讯课堂             http://ke.qq.com  2、网易公开课         http://open.163.com  3、多贝网                http://www.duobei.com  ...查看全部
1、腾讯课堂             http://ke.qq.com 
2、网易公开课         http://open.163.com 
3、多贝网                http://www.duobei.com 
4、网易云课堂        http://study.163.com 
5、51cto学院         http://edu.51cto.com 
6、百度传课           http://www.chuanke.com 
7、我要自学网       http://www.51zxw.net 
8、猿题库              http://www.yuantiku.com 
9、萝卜网              http://www.luobo360.com 
10、酷学网           http://www.kuxuexi.com 
11、梯子网           http://www.tizi.com 
12、codecademy   http://www.codecademy.com 
13、fenby             http://www.fenby.com 
14、洋葱数学        http://yangcong345.com/home 
15、实验楼           https://www.shiyanlou.com 
16、萌码              http://www.mengma.com 
17、计蒜客          http://www.jisuanke.com 
18、慕课网         http://imooc.com 
19、极客标签     http://www.gbtags.com/gb/index.htm 
20、粉笔网        http://www.fenbi.com 
21、微课堂        http://www.vko.cn 
22、跟谁学         http://www.genshuixue.com/ 
23、MOOC学院  http://mooc.guokr.com 
24、极客学院       http://www.jikexueyuan.com 
25、邢帅教育       http://www.xsteach.com 
26、优才网          http://quanzhan.ucai.cn 
27、汇智网          http://www.hubwiz.com 
28、北风网          http://www.ibeifeng.com/ 
29、猿课              http://www.apelearn.com/ 
30、小象学院       http://www.chinahadoop.cn 
31、麦子学院       http://www.maiziedu.com 
32、云路课堂       http://yun.lu/student/homepage 
33、对啊网          http://www.duia.com 
34、高高手          http://www.gogoup.com 
35、云课              https://www.yunke.com 
36、I春秋             http://www.ichunqiu.com/main 
37、爱酷学习      http://www.icoolxue.com 
38、猿团教育      http://edu.yuantuan.com/ 
39、猿代码          http://www.ydma.cn/ 
40、91淘课         http://www.91taoke.com/
 

何为大数据?

大数据 Nock 发表了文章 0 个评论 2603 次浏览 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、相关而非因果。 

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

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

开源的即时通讯在线客服平台(持续更新维护中)

开源项目 ppmessage 发表了文章 0 个评论 4639 次浏览 2016-05-06 16:45 来自相关话题

ppmessage:README.md_at_master_·_PPMESSAGE:ppmessage_·_GitHub_.pdf PPMessage是一个开源的在线客服平台。PPMessage能够帮助你在 ...查看全部


PPMessage是一个开源的在线客服平台。PPMessage能够帮助你在第一时间与你的客户建立联系,开发人员可以非常容易的将 PPMessage 集成到你的网站或者 iOS、Android 的应用中。PPMessage的前端后端都是开源的,后端全部基于 Python,简洁高效。前端根据不同平台提供原生的SDK。 基于 PPMessage 还能实现私有的·微信·功能,在企业内部或者私有云上建立自主的·微信·服务器;也可以将 PPMessage 与企业业务系统整合,实现自建的·钉钉·系统。 PPMessage 后端建议部署到 Linux 上,推荐使用 Debian 或者 Ubuntu,同时支持 Mac OS X 系统,方便开发者测试。 PPMessage 提供了完整而清晰的 API 和 OAuth 系统,所有前端应用和 SDK 都是通过调用或者封装后端的 API 而实现。PPMessage 能够做到最大程度和最底层的整合开发。 PPMessage 包含由数个 Python 后台应用组成的后端,Python 后端应用通过 Supervisor 统一管理,通过 Nginx 反向代理进行 HTTP 请求的统一分发和负载均衡。PPMessage 的后端使用了 Mysql 数据库,事实上 PPMessage 后端并没有直接操作数据库,直接操作数据库速度不能满足 PPMessage 支持大并发量消息服务,PPMessage所有的数据操作通过单独的、异步的 Cache 服务完成。PPMessage 的前端开发 SDK 称为 PPCom,PPCom 会被集成到你的企业 Web 站点,Android、iOS 应用之中,为你的客户提供建立联系的入口;给客服和企业组织内部人员使用的前端应用叫做 PPKefu,PPKefu 可以运行在 Web 端,Windows、Mac 和 Linux 桌面端,Android、iOS 移动应用端,几乎支持所有的可以运行应用的平台,让你的客服人员随时随地为你的客户提供服务或者建立联系。 PPMessage 同时提供了一个 Web 管理界面,称之为 PPConsole,当然也是开源的,PPConsole 提供一个管理界面去管理配置PPMessage。PPConsole 同时也集成了一些企业运营所需的常用功能,探索使用 PPConsole 让它为你的企业业务服务。通过使用 PPConsole 上的企业应用,PPMessage 完全成为了一个自主、自建的企业微信,或者是阿里钉钉,但是数据和程序以及安全性却能得到充分的保障。 下面是PPMessage提供的一些文档,详细信息及在线体验PPMessage,请访问PPMessage Site
 • 在 Debian 8.4 上安装 PPMessage 
在 Ubuntu Server 16.04 上安装 PPMessage 
PPMessage 完全参考手册,请关注 PPMessageGITBOOK上的持续更新 PPMessage Book。欢迎小伙伴们到官网github上体验和提出宝贵意见,发现BUG请及时反馈给我们,非常感谢大家!


Attachment-1.gif