Fioncat Blog

「一个忠实的 Rust & ArchLinux & Neovim 信徒」

Storm 笔记

Apache Storm是一个开源的分布式实时计算系统,可以简单的,可靠地处理大量的数据流。Storm可用于实时分析、在线机器学习、持续计算、分布式RPC等。 Storm部署和运维很便捷,并且支持多种编程语言的开发。 结构 Storm的结构称为topology。由stream、spout、bolt组成。 topography维护了一个拓扑结构,其中,spout可以从外部获取数据,随后...

Scala 基础语法

Scala是多范式的编程语言,本教程着重介绍函数式编程. 本教程适用于已经掌握了Java编程语言的人. 常量和变量 var可以用来声明一个变量: 1 var var_name[:type] = xxx 其中,属性的类型声明可以省略.那么scala会自动推测属性的类型.即使类型可以省略,scala和python不一样,还是有类型的区别的. Scala官方不建议定义过多变量,最好不...

Hive 笔记

Hive是基于Hadoop的一个数据仓库工具。可以将结构化数据映射为一张数据库表。并提供类似SQL的HiveSQL(HQL)进行数据查询等功能。Hive底层将HQL转换为MapReduce任务来操作HDFS中的数据。 利用Hive,可以快速实现MapReduce功能。而不必编写MapReduce程序。 如果不会编写Java程序,又想使用MapReduce来处理大数据,就可以使用Hive。...

HBase 基础笔记

HBase是基于Hadoop的一款数据库工具。它来源于Google的一篇论文BigTable。后来由Apache做了开源实现,就是HBase。 HBase是一种NoSQL(非关系型数据库)。适合储存非结构化和半结构化的数据,适合储存稀疏的数据(空的数据不占据空间),HBase是面向列(族)储存的。在底层是按照列为单位进行数据储存的。 不同于Hive,即使HBase是基于HDFS的,它仍然...

HBase 进阶笔记

高级查询 HBase的Java API提供了一些高级的查询功能。所谓的“高级”,其实一点也不高级,无非就是对HBase的表进行一些范围化的查询和数据的过滤,而不是用get仅取出一个行键的内容。 为了测试方便,我这里插入一些简单的测试数据,待会就是对这些数据进行查询: 1 2 3 4 5 6 7 put 'tab1','rk1','cf1:c1','val1' put 'tab1','r...

Hadoop笔记三: MapReduce

MapReduce是一个分布式的计算框架。最初由谷歌的工程师开发,基于GFS的分布式计算框架,主要用于搜索领域解决海量数据的计算问题。 Cutting根据这个框架,设计了基于HDFS的MapReduce框架 MapReduce可以让程序员远离分布式计算编程,不需要考虑任务调度、逻辑切块、位置追溯等问题。他们就可以把精力集中在业务上了。 MapReduce由两个阶段组成:Map和Redu...

Hadoop 笔记四:高可用分布式集群策略

Hadoop使用了master/slave的集群架构。master包括了NameNode和ResourseManager两个重要的Hadoop节点。所以master是一种非常重要的节点。一定要保证master的硬件资源是最好的。 但是,即使是最好硬件,最稳定的机器也可能出现问题,而master又是如此重要,所以我们需要一种高可用架构,使得即使master坏掉,整个集群也能迅速恢复工作。 ...

Hadoop笔记一:伪分布式安装

Hadoop安装分为单机、伪分布式和完全分布式。 单机模式是Hadoop的默认模式。在初次安装Hadoop后,将使用这个模式。此时Hadoop的三个配置文件为空。单机模式不使用HDFS,也不加载任何Hadoop守护进程,仅用来调试MapReduce程序。 伪分布式,Hadoop的守护进程在一台机器上运行,模拟一个小规模的集群。HDFS和MapReduce可以正常使用。可用于开发和...

Hadoop笔记二:HDFS

HDFS是Hadoop为了储存海量数据而使用的一种分布式文件系统。这种文件系统是运作于多个机器之上的。 HDFS为了保证数据储存的可靠和读取性能,会把保存的数据进行切块后进行复制并且储存在集群的多个节点中。 HDFS存在名字节点NameNode和数据节点DataNode: NameNode:储存元数据信息,也就是具体文件,block,datanode之间的映射关系。数据保存在内存...

Zookeeper基础

Zookeeper(以下简称ZK), 动物管理员。是一个分布式应用程序的协调服务框架,是Hadoop的一个重要组成组件。 分布式应用需要解决的问题: 数据一致性 统一的命名服务 配置管理 分布式锁 集群管理 ZK安装 参见官网教程…(需要安装在Linux系统下) ZK指令和数据结构 ZK有一个最开始的节点(/)。ZK的节点叫做znode节点,每个znode...