大数据
文章平均质量分 87
从万物互联到万物智联,从数字化到数智化
看山
人非生而知之者,孰能无惑,惑而不从师,其为惑也,终不解矣
展开
-
storm笔记:Storm+Kafka简单应用
这几天工作需要使用storm+kafka,基本场景是应用出现错误,发送日志到kafka的某个topic,storm订阅该topic,然后进行后续处理。场景非常简单,但是在学习过程中,遇到一个奇怪的异常情况:使用KafkaSpout读取topic数据时,没有向ZK写offset数据,致使每次都从头开始读取。纠结了两天,终于碰巧找到原因:应该使用`BaseBasicBolt`作为bolt的父类,而不是`BaseRichB原创 2016-01-21 09:51:29 · 16982 阅读 · 5 评论 -
storm笔记:storm基本概念
本文主要介绍storm中的基本概念,从基础上了解strom的体系结构,便于后续编程过程中作为基础指导。主要的概念包括:topology(拓扑)、stream(数据流)、spout(水龙头、数据源)、bolt(螺栓,数据筛选处理)、stream group(数据流分组)、reliability(可靠性)、task(任务)、worker(执行者)原创 2016-01-21 14:53:37 · 5632 阅读 · 2 评论 -
storm笔记:storm集群
Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配置静态指定(还有一种主从结构是在运行时动态选举,比如zookeeper)。通常这种主从结构存在出现单点故障的风险,Storm通过特殊处理规避这种风险,后面将解释Storm的半容错结构。原创 2016-01-25 10:17:35 · 8621 阅读 · 0 评论 -
ResourceManager HA 配置
ResourceManager(RM)负责跟踪集群中资源使用情况,调度应用程序(比如MapReduce作业)。在Hadoop 2.4之前,ResourceManager存在单点故障,需要通过其他方式实现HA。官方给出的HA方案是Active/Standby两种状态ResourceManager的冗余方式,类似于HDFS的HA方案,也就是通过冗余消除单点故障。原创 2017-07-11 16:31:38 · 7407 阅读 · 0 评论 -
MapReduce实现矩阵乘法
在海量数据中淘金,已是各大互联网公司的既定目标,亚马逊是数据化运营的成功典范,Google、百度投巨资用于对海量数据进行深度学习研究,阿里把数据与平台、金融并列成为未来三大战略。想在海量数据中淘到金子,强大的挖掘工具是必不可少的,而诸如回归、聚类、主成分分析、决策树等数据挖掘算法常常涉及大规模矩阵运算。这其中,大矩阵乘法具有较大的时间消耗,是算法的瓶颈。所以将矩阵乘法移植到分布式系统中进行运算,可谓是基本需求,所以本文暂且从最基础开始,简单介绍使用MapReduce实现矩阵乘法的方式。原创 2014-10-10 11:05:22 · 28576 阅读 · 9 评论 -
storm笔记:Trident状态
Trident中有对状态数据进行读取和写入操作的一流抽象工具。状态既可以保存在拓扑内部,比如保存在内容中并由HDFS存储,也可以通过外部存储(比如Memcached或Cassandra)存储在数据库中。而对于Trident的API而言,这两种机制没有任何区别。Trident以容错的方式管理状态,以便在重试或失败时的状态更新是幂等的。在大数据处理中,数据处理的幂等性是非常重要的一个指标,这样能够保证每个消息即使处理了多原创 2017-06-09 22:58:47 · 4545 阅读 · 0 评论 -
HDFS 架构
Hadoop文件存储的基础是HDFS(Hadoop Distributed File System),HDFS的实现依赖于NameNode和DataNode,DataNode用来存储具体数据,NameNode用来管理多个DataNode中分别存储的是什么。理解起来也不难,因为HDFS是分布式的文件系统,也就是有很多机器用来存储数据,一个大文件可能分布在多个机器上,也可能是一台机器上,具体分布在哪些或哪个机器上,主文件原创 2017-07-05 17:05:11 · 3331 阅读 · 0 评论 -
使用 QJM 实现 HDFS 的 HA
hadoop官方提供了两种HDFS的HA配置方案,两种方案殊途同归,但是需要的钱、精力和技术不同。如果对HDFS架构熟悉的话,就应该知道,NameNode通过FsImage和EditLog两个文件管理DataNode的数据,Secondary NameNode会定期合并EditLog,以减少NameNode启动时的安全检查。EditLog文件存储的是对文件的一条条的操作,也就是说,只要保证有另外一个NameNode的原创 2017-07-10 11:12:12 · 2904 阅读 · 2 评论 -
YARN 架构
YARN的基本思想是将资源管理和作业调度/监控的功能分为独立的守护进程。这样就出现了一个全局的 ResourceManager(RM) 和每个应用程序的 ApplicationMaster(AM)。应用程序可以是一个job作业或者一组job作业的有向无环图(DAG)。ResourceManager负责系统中的所有应用程序的资源分配。NodeManager负责每台机器中容器代理、资源监控(cpu,内存,磁盘,网络),并原创 2017-07-11 09:23:45 · 4045 阅读 · 0 评论 -
Hbase单机模式部署
HBase是一个分布式、面向列的开源数据库,是Apache Hadoop项目的子项目,适用于非结构化数据存储的数据库。在Hadoop家族中,很多产品为HBase提供服务:Hadoop HDFS为HBase提供了高可靠性的底层存储支持;Hadoop MapReduce为HBase提供了高性能的计算能力;Zookeeper为HBase提供了稳定服务和failover机制;Pig和Hive为HB原创 2014-10-15 16:00:52 · 8870 阅读 · 2 评论 -
Hbase伪分布式模式部署
HBase是一个分布式、面向列的开源数据库,是Apache Hadoop项目的子项目,适用于非结构化数据存储的数据库。在Hadoop家族中,很多产品为HBase提供服务:Hadoop HDFS为HBase提供了高可靠性的底层存储支持;Hadoop MapReduce为HBase提供了高性能的计算能力;Zookeeper为HBase提供了稳定服务和failover机制;Pig和Hive为HB原创 2014-10-15 22:23:27 · 7557 阅读 · 0 评论 -
hadoop集群部署(yarn)
伴随着各大互联网公司开源自己的大数据框架,大数据处理领域的框架已经比较完善。到现在所谓大数据的框架已经用过habase(后来换成了elasticsearch)、zookeeper、kafka、storm,根据项目计划,接下来还要使用spark。虽然在众多框架中仅仅几个,但是也是已经涉及多个方面:数据存储、分布式协调、消息、实时计算等。没有找到任何一个框架能够完美解决所有问题,也就应了那句话,开发领域根本就没有银色子弹原创 2016-03-31 17:51:20 · 6446 阅读 · 1 评论 -
Storm 简介
场景伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或者更久才可以被搜出来,估计这个大哥就要骂娘了。再举一个推荐的例子,如果用户昨天在淘宝上买了一双袜子,今天想买一副泳镜去游转载 2015-09-17 13:38:27 · 2046 阅读 · 0 评论 -
Zookeeper客户端错误:Packet len* is out of range!
这是一个生产环境使用zookeeper异常的情况,错误是java.io.IOException: Packet len8854970 is out of range!。原创 2017-03-01 11:36:04 · 24793 阅读 · 10 评论 -
ZooKeeper介绍及典型使用场景
1 概述 ZooKeeper(动物园管理员),顾名思义,是用来管理Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员,同时Apache HBase、Apache Solr、LinkedIn Sensei等众多项目中都采用了ZooKeeper。 ZooKeeper曾是Hadoop的正式子项目,后发展成为Apache顶级项目,与Hadoop密切相关但却没有任何依赖。它是一个针对原创 2015-01-15 20:40:31 · 23571 阅读 · 12 评论 -
ZooKeeper安装部署
1 概述 ZooKeeper(动物园管理员),顾名思义,是用来管理Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员,同时Apache HBase、Apache Solr、LinkedIn Sensei等众多项目中都采用了ZooKeeper。 ZooKeeper是Hadoop的正式子项目,与Hadoop密切相关但却没有任何依赖。它是一个针对大型应用提供高可用的数据管理、应用原创 2014-10-21 13:14:41 · 5769 阅读 · 1 评论 -
DataNode连接错误Retrying connect to server
在Hadoop分布式模式部署完成后,通过start-dfs.sh启动NameNode、DataNode、SecondaryNameNode,在master节点通过jps命令查看,看到NameNode、SecondaryNameNode已启动,在slave节点通过jps命令查看,DataNode也已经启动。(此时颇为欣喜,首次完全分布式部署即成功,但是。。。)1 发现问题 准备好WordC原创 2014-10-15 22:33:39 · 21918 阅读 · 0 评论 -
Hadoop伪分布式模式部署
Hadoop的安装有三种运行模式:单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置。Hadoop运行在一个Java进程中,使用本地文件系统,不使用HDFS,一般用于开发调试MapReduce程序的应用逻辑。伪分布式模式(Pseudo-Distributed Mode):需简单配置,相当于只有一个节点的集群,Hadoop的所有守护进程运行在同一台机器原创 2014-10-15 14:39:17 · 6928 阅读 · 0 评论 -
Hadoop单机模式部署
Hadoop的安装有三种运行模式:单机模式(Local (Standalone) Mode):Hadoop的默认模式,0配置。Hadoop运行在一个Java进程中,使用本地文件系统,不使用HDFS,一般用于开发调试MapReduce程序的应用逻辑。伪分布式模式(Pseudo-Distributed Mode):需简单配置,相当于只有一个节点的集群,Hadoop的所有守护进程运行在同一台机器原创 2014-10-15 14:35:23 · 8282 阅读 · 0 评论 -
hadoop2.x.x格式化遇到的问题
1 概述 解决hadoop启动hdfs时,datanode无法启动的问题。错误为:java.io.IOException: Incompatible clusterIDs in /home/lxh/hadoop/hdfs/data: namenode clusterID = CID-a3938a0b-57b5-458d-841c-d096e2b7a71c; datanode cluste原创 2014-10-15 22:31:27 · 10288 阅读 · 0 评论 -
storm笔记:Trident应用
Trident是基于Storm的实时计算模型的高级抽象。它可以实现高吞吐(每秒数百万条消息)的有状态流处理和低延迟分布式查询。如果以前使用过高级批处理工具(比如Pig或Cascading),则对Trident的概念会非常熟悉,比如连接、聚合、分组、功能处理和过滤等。除此之外,Trident还增加了用于在数据库或持久化存储上进行有状态的增量处理的原语。Trident具有一致性、一次性语义,所以很容易就能够推导出原创 2017-04-01 14:35:02 · 4912 阅读 · 0 评论