随笔分类 -  大数据

摘要:任何系统都需要提供监控功能,否则在运行期间发生一些异常时,我们将会束手无策。也许有人说,可以增加日志来解决这个问题。日志只能解决你的程序逻辑在运行期的监控,进而发现Bug,以及提供对业务有帮助的调试信息。当你的JVM进程奔溃或者程序响应速度很慢时,这些日志将毫无用处。好在JVM提供了jstat、jstack、jinfo、jmap、jhat等工具帮助我们分析,更有VisualVM的可视化界面以更加直观的方式对JVM运行期的状况进行监控。此外,像Tomcat、Hadoop等服务都提供了基于Web的监控页面,用浏览器能访问具有样式及布局,并提供丰富监控数据的页面无疑是一种简单、高效的方式。 阅读全文
posted @ 2019-02-28 14:45 泰山不老生 阅读(2541) 评论(0) 推荐(1) 编辑
摘要:对于一个系统而言,首先考虑要满足一些业务场景,并实现功能。随着系统功能越来越多,代码量级越来越高,系统的可维护性、可测试性、性能都会成为新的挑战,这时监控功能就变得越来越重要了。在国内,绝大多数IT公司的项目都以业务为导向,以完成功能为目标,这些项目在立项、设计、开发、上线的各个阶段,很少有人会考虑到监控的问题。 阅读全文
posted @ 2019-01-07 10:18 泰山不老生 阅读(792) 评论(0) 推荐(2) 编辑
摘要:Spark程序在运行的过程中,Driver端的很多功能都依赖于事件的传递和处理,而事件总线在这中间发挥着至关重要的纽带作用。事件总线通过异步线程,提高了Driver执行的效率。 阅读全文
posted @ 2018-12-19 10:58 泰山不老生 阅读(1801) 评论(0) 推荐(3) 编辑
摘要:在《使用Akka构建集群(一)》一文中通过简单集群监听器的例子演示了如何使用Akka搭建一个简单的集群,本文将介绍一个相对看来更符合我们对于集群使用的业务需求的例子。 阅读全文
posted @ 2018-11-23 12:31 泰山不老生 阅读(1359) 评论(2) 推荐(2) 编辑
摘要:在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通、用户文件与Jar包的上传、节点间的Shuffle过程、Block数据的复制与备份等。在Spark 0.x.x与Spark 1.x.x版本中,组件间的消息通信主要借助于Akka,使用Akka可以轻松的构建强有力的高并发与分布式应用。但是Akka在Spark 2.0.0版本中被移除了,https://img2018.cnblogs.com/blog/816981/201810/816981-20181016145505263-870721231.jpg 阅读全文
posted @ 2018-11-05 18:57 泰山不老生 阅读(3024) 评论(0) 推荐(0) 编辑
摘要:每项技术的诞生都会由某种社会需求所驱动,Spark正是在实时计算的大量需求下诞生的。Spark借助其优秀的处理能力,可用性高,丰富的数据源支持等特点,在当前大数据领域变得火热,参与的开发者也越来越多。 阅读全文
posted @ 2018-09-29 17:53 泰山不老生 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:随着近十年互联网的迅猛发展,越来越多的人融入了互联网——利用搜索引擎查询词条或问题;社交圈子从现实搬到了Facebook、Twitter、微信等社交平台上;女孩子们现在少了逛街,多了在各大电商平台上的购买;喜欢棋牌的人能够在对战平台上找到世界各地的玩家对弈。在国内随着网民数量的持续增加,造成互联网公司的数据在体量、产生速度、多样性等方面呈现出巨大的变化。本文将对Spark的背景、基础知识、模块设计进行介绍。 阅读全文
posted @ 2018-09-18 10:44 泰山不老生 阅读(1995) 评论(4) 推荐(0) 编辑
摘要:通过在spark-shell中执行word count的过程,让读者了解到可以使用spark-shell提交Spark作业。现在读者应该很想知道spark-shell究竟做了什么呢?本文将详细分析这其中的奥秘。 阅读全文
posted @ 2018-06-13 10:14 泰山不老生 阅读(1293) 评论(0) 推荐(0) 编辑
摘要:Akka提供的非常吸引人的特性之一就是轻松构建自定义集群,这也是我要选择Akka的最基本原因之一。如果你不想敲太多代码,也可以通过简单的配置构建一个非常简单的集群。本文为说明Akka集群构建的学习成本低廉,以Akka官网的例子代码出发,进行简单改造后与Spring集成。 阅读全文
posted @ 2018-06-07 11:39 泰山不老生 阅读(4217) 评论(0) 推荐(2) 编辑
摘要:学习一个工具的最好途径,就是使用它。在IT领域,在深入了解一个系统的原理、实现细节之前,应当先准备好它的运行环境或者源码阅读环境。如果能在实际环境下安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的工程师甚至能够猜出一些Spark在实现过程中采用的设计模式、编程模型。在准备好基本的Spark运行环境后应当实践一下,以便于在使用过程中提升读者对于Spark最直接的感触!本文通过Spark的基本使用,让读者对Spark能有初步的认识,便于引导读者逐步深入学习。 阅读全文
posted @ 2018-05-21 15:48 泰山不老生 阅读(1800) 评论(0) 推荐(1) 编辑
摘要:学习一个工具的最好途径,就是使用它。在IT领域,在深入了解一个系统的原理、实现细节之前,应当先准备好它的运行环境或者源码阅读环境。如果能在实际环境下安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的工程师甚至能够猜出一些Spark在实现过程中采用的设计模式、编程模型。 阅读全文
posted @ 2018-05-21 10:14 泰山不老生 阅读(1257) 评论(0) 推荐(0) 编辑
摘要:近年来随着Spark的火热,Spark本身使用的开发语言Scala、用到的分布式内存文件系统Tachyon(现已更名为Alluxio)以及基于Actor并发编程模型的Akka都引起了大家的注意。了解过Akka或者Actor的人应该知道,这的确是一个很不错的框架,按照Akka官网的描述——使用Akka使得构建强有力的并发与分布式应用将更加容易。由于历史原因,很多Web系统在开发分布式服务时首先会选择RMI(Remote Method Invoke ,远程方法调用)、RPC(Remote Procedure Call Protocol,远程过程调用)或者使用JMS(Java Messaging Service,Java消息服务)。 阅读全文
posted @ 2018-03-16 14:45 泰山不老生 阅读(5077) 评论(0) 推荐(0) 编辑
摘要:使用Hadoop进行离线分析或者数据挖掘的工程师,经常会需要对Hadoop集群或者mapreduce作业进行性能调优。性能调优的前提是需要能准确知道目前针对Hadoop集群或者mapreduce作业配置的参数。本文将针对这一需求,基于Hadoop开发一个简单实用的工具查询查看各种参数。 阅读全文
posted @ 2016-07-27 09:39 泰山不老生 阅读(589) 评论(0) 推荐(0) 编辑
摘要:我在测试mapreduce任务时,发现相比于使用Job.setNumReduceTasks(int)控制reduce任务数量而言,控制map任务数量一直是一个困扰我的问题。好在经过很多摸索与实验,终于梳理出来,希望对在工作中进行Hadoop进行性能调优的新人们有个借鉴。本文只针对FileInputFormat的任务划分进行分析,其它类型的InputFormat的划分方式又各有不同。虽然如此,都可以按照本文类似的方法进行分析和总结。 阅读全文
posted @ 2016-05-23 13:36 泰山不老生 阅读(3180) 评论(0) 推荐(2) 编辑
摘要:引文 学习Hadoop的同学们,一定知道如果运行Hadoop自带的各种例子,以大名鼎鼎的wordcount为例,你会输入以下命令: 当然,有些人还会用以下替代方式: 相比于原始的执行方式,使用jar命令方式,让我们不用再敲入繁琐的完整包路径。比如我们知道hadoop-mapreduce-exampl 阅读全文
posted @ 2016-04-29 13:16 泰山不老生 阅读(3241) 评论(0) 推荐(1) 编辑
摘要:说实在的,在阅读Hadoop YARN的源码之前,我对于java枚举的使用相形见绌。YARN中实现的事件在可读性、可维护性、可扩展性方面的工作都值得借鉴。 阅读全文
posted @ 2016-04-27 15:19 泰山不老生 阅读(700) 评论(0) 推荐(2) 编辑
摘要:本文旨在提供最基本的,可以用于在生产环境进行Hadoop、HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用。 阅读全文
posted @ 2016-04-19 13:50 泰山不老生 阅读(1454) 评论(0) 推荐(7) 编辑
摘要:Akka是Actor编程模型的高级类库,类似于JDK 1.5之后越来越丰富的并发工具包,简化了程序员并发编程的难度。Akka是一款提供了用于构建高并发的、分布式的、可伸缩的、基于Java虚拟机的消息驱动应用的工具集和运行时环境。 阅读全文
posted @ 2016-04-13 13:23 泰山不老生 阅读(2583) 评论(0) 推荐(1) 编辑
摘要:《深入理解Spark:核心思想与源码分析》一书前言的内容请看链接《深入理解SPARK:核心思想与源码分析》一书正式出版上市 《深入理解Spark:核心思想与源码分析》一书第一章的内容请看链接《第1章 环境准备》 《深入理解Spark:核心思想与源码分析》一书第二章的内容请看链接《第2章 SPARK设 阅读全文
posted @ 2016-03-23 14:44 泰山不老生 阅读(4581) 评论(0) 推荐(0) 编辑
摘要:《深入理解Spark:核心思想与源码分析》一书前言的内容请看链接《深入理解SPARK:核心思想与源码分析》一书正式出版上市 《深入理解Spark:核心思想与源码分析》一书第一章的内容请看链接《第1章 环境准备》 《深入理解Spark:核心思想与源码分析》一书第二章的内容请看链接《第2章 SPARK设 阅读全文
posted @ 2016-03-14 12:34 泰山不老生 阅读(2951) 评论(0) 推荐(1) 编辑