
BigData
文章平均质量分 67
超新星X
大丈夫抱经世之才,岂可空老于林泉之下
展开
-
【Memcached】原理、体系架构、基本操作及路由算法
1. 什么是Memcached Memcached的官网网站是:http://memcached.org/,官方对Memcached的描述如下图: 从官方的描述中可以总结出,Memcached是一个高性能分布式的内存对象缓存系统。它将数据以key-value形式存储的存储在内存中,极大的提高了效率。但是Memcached的缺点在于不支持持久化(不支持写入磁盘),所以一旦断电,内存中的全...原创 2018-06-16 17:33:56 · 1654 阅读 · 0 评论 -
【Zookeeper】编程实战之Zookeeper分布式锁实现秒杀
1. Zookeeper简述 我们要了解一样技术,首先应该要到它的官网,因为官网的信息一般都是最准确的,如下图是Zookeeper官网对它的介绍。 从官网的介绍中,可以总结出,Zookeeper是一个集中式服务,它能够实现高度可靠的分布式协调,可用于开发和维护开源服务器。 除了官网的解释外,我的观点是还可以这样理解。它也相当于是一个数据库,具有数据同步和选举功能,能够用来存储一些...原创 2018-06-16 12:41:48 · 2103 阅读 · 2 评论 -
【Spark】算子
1. mapWith mapWith(i => i*10)((a,b) => b+2)(拿到分区号)(a是每次取到的RDD中的元素,b接收i*10的结果) 2. flatMapWith类似mapWith,区别在于flatMapWith返回的是一个序列3. mapPartitions每次取到的是分区号val rdd1 = sc.parallelize(Array(1,2,3,4,5,6...原创 2018-06-02 11:59:26 · 491 阅读 · 0 评论 -
【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
1. 什么是RPC RPC(Remote Procedure Call)远程过程调用。在Hadoop和Spark中都使用了PRC,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。简单来说,就是有A、B两台机器,A机器可以调用B机器上的程序。2. Spark 的RPC Master和Worker的启动流程: (1) 启动Master,会启动一个定时...原创 2018-06-15 21:06:05 · 403 阅读 · 0 评论 -
【Spark】Spark核心之弹性分布式数据集RDD
1. RDD概述 1.1 什么是RDD (1) RDD(Resilient Distributed Dataset)弹性分布式数据集,它是Spark的基本数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。 (2) 具有数据流模型的特点:自动容错、位置感知性调度、可伸缩性。 (3) 查询速度快:在执行多个查询时,可以显示的将工作集缓存到内存中,后续的查询能够重用缓存的...原创 2018-06-15 18:20:32 · 1285 阅读 · 0 评论 -
【Spark】Spark性能优化之Whole-stage code generation
一、技术背景 Spark1.x版本中执行SQL语句,使用的是一种最经典,最流行的查询求职策略,该策略主要基于 Volcano Iterator Model(火山迭代模型)。一个查询会包含多个Operator,每个Operator都会实现一个接口,提供一个next()方法,该方法返回Operator Tree的下一个Operator,能够让查询引擎组装任意Operator,而不需要去考虑每个O...原创 2018-06-15 14:05:09 · 5140 阅读 · 0 评论 -
【Spark】Spark2.x版的新特性
一、API 1. 出现新的上下文接口:SparkSession,统一了SQLContext和HiveContext,并且为SparkSession开发了新的流式调用的configuration API 2. 统一了DataFrame和DataSet。DataFrame相当于DataSet[Row],以及DataSet的增强聚合API 3. 增强了累加器accumulator的功能...原创 2018-06-14 19:33:14 · 2061 阅读 · 0 评论 -
【Spark】源码分析之RDD的生成及stage的切分
一、概述整体的逻辑:RDD的生成从saveAsTextFile()方法入手。saveAsTextFile() --> saveAsHadoopFile() --> 封装hadoopConf,并传入saveAsHadoopDataset()方法 --> 拿到写出流SaprkHadoopWriter,调用self.context.runJob(self,writeToFile) --...原创 2018-06-13 10:07:58 · 573 阅读 · 0 评论 -
【Flume】数据采集引擎Flume
一、概述flume是一个高效的、可靠的、可用的分布式海量日志数据收集、聚合、传输的工具。Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. 二、flum的架构三、flume的组件以及...原创 2018-06-12 21:46:35 · 559 阅读 · 0 评论 -
【Spark】源码分析之SparkContext
一、概述SaprkContext非常重要,是Spark提交任务到集群的入口SparkContext中没有main方法,在SparkContext主构造器中,主要做一下四件事情:1. 调用createSparkEnv()创建SparkEnv,SparkEnv中能够得到ActorSystem对象,用于创建Actor2. 创建TaskSchedule(用于创建Task),对任务提交的url进行模式匹配,...原创 2018-06-12 21:11:45 · 382 阅读 · 0 评论 -
【Spark】源码分析之spark-submit
在客户端执行脚本sbin/spark-submit的时候,通过cat命令查看源码可以看出,实际上在源码中将会执行bin/spark-class org.apache.spark.deploy.SparkSubmit 。在IDEA导入的Spark-Core的源码进行分析。首先Spark会把初始化的参数使用SparkSubmitArguments进行封装,之后对SparkSubmitAction类型进...原创 2018-06-12 20:13:31 · 846 阅读 · 4 评论 -
【Hadoop故障处理】高可用(HA)环境DataNode问题
【故障背景】NameNode和DataNode进程正常运行,但是网页找不到DataNode,DataNode为空。各个节点机器之间可以ping同主机名。【日志排查】众多日志中找到如下关键点错误信息ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-2502486...原创 2018-06-11 13:37:02 · 975 阅读 · 0 评论 -
【Hadoop故障处理】全分布下,DataNode进程正常启动,但是网页上不显示,并且DataNode节点为空
【故障背景】DataNode进程正常启动,但是网页上不显示,并且DataNode节点为空。/etc/hosts 的ip和hostname配置正常,各个机器之间能够ping通。【日志错误信息】2018-06-11 17:29:08,165 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool BP-591370997-1...原创 2018-06-11 11:26:26 · 3830 阅读 · 1 评论 -
【设计模式】Java之单例设计模式
1.单例设计模式:一个类只能有一个对象1.1 创建单例类的步骤:1.将构造方法私有化2.创建私有的静态成员变量3.共有的静态成员方法,提供当前的唯一对象1.2创建单例的两种方式: 1.饿汉式 -- 一开始执行时就先给单例类对象赋值//方式一:饿汉式 一开始执行,就先给单例类对象赋值class SingleInstance{...原创 2018-04-04 11:04:23 · 157 阅读 · 0 评论 -
【Hadoop故障处理】在高可用(HA)配置下,8088端口无法访问,resourcemanager进程无法启动问题
【故障背景】8088网页打不开,因8088是yarn平台的端口,所以我从yarn开始排查,首先到各个机器上使用jps命令查看yarn的各个节点是否启动,发现虽然有nodemanager进程,但是主节点机器上的resourcemanager进程未启动,使用yarn-daemon.sh start resourcemanager单独启动resourcemanager进程。遇到闪退,一开启进程,不一会就...原创 2018-06-10 11:57:21 · 5155 阅读 · 0 评论