- 博客(23)
- 资源 (3)
- 收藏
- 关注
原创 大数据实战之Logstash采集->Kafka->ElasticSearch检索
1. Logstash概述 Logstash的官网地址为:https://www.elastic.co/cn/products/logstash,以下是官方对Logstash的描述。 Logstash是与Flume类似,也是一种数据采集工具,区别在于组件和特性两大方面。常用的数据采集工具有Sqoop、Flume、Logstash,计划将单独写一篇博文论述它们之间的区别,所以这里就不赘述,感兴...
2018-06-22 22:44:49
14300
3
原创 【ElasticSearch故障处理】OpenJDK 64-Bit Server VM warning
【故障描述】 VM虚拟机安装ElasticSearch集群,有三台Linux,完成安装后,执行启动命令:bin/elasticsearch -d 。 运行结果报错:OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should confi...
2018-06-20 22:40:35
31408
5
原创 【JVM】TroubleShooting之内存溢出异常(OOM)与调优
1. OOM概述 If your application's execution time becomes longer and longer, or if the operating system seems to be performing slower and slower, this could be an indication of a memory leak. In other ...
2018-06-18 14:51:29
404
原创 【JVM】上帝视角看JVM内存模型,分而治之论各模块详情
1. 上帝视角【树看JVM】【图看JVM】2. 分而治之 2.1 堆区 构成:堆区由新生代和老年代组成,新生代中包含伊甸区(Eden)、幸存者区(survivor from 、survivor to)和老年代。 GC:当创建新的对象时,对象首先会被放入Eden和survivor from中,每经历一次GC存活下来的对象,年龄都会加1。在进行了第一次GC后,在Eden中仍然存活的对象,将...
2018-06-17 18:07:54
684
原创 【Memcached】原理、体系架构、基本操作及路由算法
1. 什么是Memcached Memcached的官网网站是:http://memcached.org/,官方对Memcached的描述如下图: 从官方的描述中可以总结出,Memcached是一个高性能分布式的内存对象缓存系统。它将数据以key-value形式存储的存储在内存中,极大的提高了效率。但是Memcached的缺点在于不支持持久化(不支持写入磁盘),所以一旦断电,内存中的全...
2018-06-16 17:33:56
1542
原创 【Zookeeper】编程实战之Zookeeper分布式锁实现秒杀
1. Zookeeper简述 我们要了解一样技术,首先应该要到它的官网,因为官网的信息一般都是最准确的,如下图是Zookeeper官网对它的介绍。 从官网的介绍中,可以总结出,Zookeeper是一个集中式服务,它能够实现高度可靠的分布式协调,可用于开发和维护开源服务器。 除了官网的解释外,我的观点是还可以这样理解。它也相当于是一个数据库,具有数据同步和选举功能,能够用来存储一些...
2018-06-16 12:41:48
2059
2
原创 【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
370
原创 【Spark】Spark核心之弹性分布式数据集RDD
1. RDD概述 1.1 什么是RDD (1) RDD(Resilient Distributed Dataset)弹性分布式数据集,它是Spark的基本数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。 (2) 具有数据流模型的特点:自动容错、位置感知性调度、可伸缩性。 (3) 查询速度快:在执行多个查询时,可以显示的将工作集缓存到内存中,后续的查询能够重用缓存的...
2018-06-15 18:20:32
1227
原创 【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
4826
原创 【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
2010
原创 【Spark】源码分析之RDD的生成及stage的切分
一、概述整体的逻辑:RDD的生成从saveAsTextFile()方法入手。saveAsTextFile() --> saveAsHadoopFile() --> 封装hadoopConf,并传入saveAsHadoopDataset()方法 --> 拿到写出流SaprkHadoopWriter,调用self.context.runJob(self,writeToFile) --...
2018-06-13 10:07:58
544
原创 【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
524
原创 【Spark】源码分析之SparkContext
一、概述SaprkContext非常重要,是Spark提交任务到集群的入口SparkContext中没有main方法,在SparkContext主构造器中,主要做一下四件事情:1. 调用createSparkEnv()创建SparkEnv,SparkEnv中能够得到ActorSystem对象,用于创建Actor2. 创建TaskSchedule(用于创建Task),对任务提交的url进行模式匹配,...
2018-06-12 21:11:45
358
原创 【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
819
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
922
原创 【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
3777
1
原创 【Hadoop故障处理】在高可用(HA)配置下,8088端口无法访问,resourcemanager进程无法启动问题
【故障背景】8088网页打不开,因8088是yarn平台的端口,所以我从yarn开始排查,首先到各个机器上使用jps命令查看yarn的各个节点是否启动,发现虽然有nodemanager进程,但是主节点机器上的resourcemanager进程未启动,使用yarn-daemon.sh start resourcemanager单独启动resourcemanager进程。遇到闪退,一开启进程,不一会就...
2018-06-10 11:57:21
4965
原创 【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
467
原创 【Java】集合遍历--List和Map的多种遍历方式
1. List的两种遍历方式package com.nova.test;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ListDemo { public static void main(String[] args) { List<String&...
2018-04-08 21:14:18
388
原创 【Java】集合概述Collection、Map
Java集合分为Collection和Map,Collection又分为List、Set。 List中有ArrayList、LinkedList和Vector;Set中又分为HashSet和TreeSet。Map中有HashMap和TreeMap。他们的分类结构关系如下:分类结构1. Collection 1.1 List 1.1.1 ArrayList ...
2018-04-08 20:40:06
184
原创 【Java】abstract,final,static,private,protected,public的区别
【abstract】抽象的1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法。抽象类不一定有抽象方法,但拥有抽象方法的类一定是抽象类;2. 被abstract修饰的类不能直接实例化,需要通过子类实现,所以抽象类一定有子类;3. 继承抽象类的子类必须要重写抽象类中被abstract修饰的抽象方法,如果不继承就必须要把自己变成抽象...
2018-04-08 20:11:18
1112
原创 【JavaWeb】从零实现用户登录
1.数据库预备1.1 SQL 创建数据库create database db; 创建表create table userInfo( id int primary key , name varchar(20), password varchar(20), age int, email varchar(20)); 导入测试数据insert into userInfo va...
2018-04-08 19:40:36
11100
1
原创 【设计模式】Java之单例设计模式
1.单例设计模式:一个类只能有一个对象1.1 创建单例类的步骤:1.将构造方法私有化2.创建私有的静态成员变量3.共有的静态成员方法,提供当前的唯一对象1.2创建单例的两种方式: 1.饿汉式 -- 一开始执行时就先给单例类对象赋值//方式一:饿汉式 一开始执行,就先给单例类对象赋值class SingleInstance{...
2018-04-04 11:04:23
141
redis需要的jar包,commons-pool-1.5.4.jar,jedits-2.1.0.jar
2018-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人