自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 spark调优

目录1、资源调优1.1、分配更多的资源1.2、提高并行度2、开发调优2.1、RDD的重用和持久化2.2、广播变量的使用2.3、尽量避免使用shuffle类算子2.4、 使用高性能的算子2.5、使用Kryo优化序列化性能2.6、使用fastutil优化数据格式2.7、调节数据本地化等待时长3、基于spark内存模型调优3.1、spark中executor内存划分3.2、 spark的内存模型3.3、 任务提交脚本参考4、shuffle相关参数..

2022-05-09 11:07:21 3301

原创 记flume部署过程中遇到的问题以及解决方法

项目需求是将线上服务器生成的日志信息实时导入kafka,采用agent和collector分层传输,app的数据通过thrift传给agent,agent通过avro sink将数据发给collector,collector将数据汇集后,发送给kafka,拓扑结构如下:现将调试过程中遇到的问题以及解决方法记录如下:1、 [ERROR - org.apache.thrift.s...

2019-11-16 17:23:41 2260

原创 Ambari2.7.1安装配置

一、配置说明1. 硬件环境节点类型 操作系统 ip地址 主机名 说明主节点 Centos-7 192.168.162.41 node1.ambari.com 内存:8G+从节点 Centos-7 192.168.162.42 node2.ambari.com 内存:8G+从节点 Centos-7 192....

2019-08-23 15:43:56 385

原创 [Hive]JsonSerde使用指南

注意:重要的是每行必须是一个完整的JSON,一个JSON不能跨越多行,也就是说,serde不会对多行的Json有效。 因为这是由Hadoop处理文件的工作方式决定,文件必须是可拆分的,例如,Hadoop将在行尾分割文本文件。 // this will work { "key" : 10 } // this will not work {...

2019-07-19 11:13:35 578

原创 jvm优化 JVM 内存大小设置

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。一、Java JVM内存介绍JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚...

2018-06-22 17:11:27 2908

原创 内存溢出问题-----Linux 下修改Tomcat使用的JVM内存大小

常见的内存溢出有以下两种:java.lang.OutOfMemoryError: PermGen spacejava.lang.OutOfMemoryError: Java heap space ---------------------------------------------------------这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。...

2018-06-22 17:10:14 336

原创 hue4.0安装遇及遇到的问题

Centos6.5环境下Hue4.0.1的安装配置1.安装依赖yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel ope...

2018-06-15 17:52:14 2633

原创 hue4.0的安装和配置

依赖安装: sudo yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-dev...

2018-06-15 17:49:47 3591

原创 Supervisor的安装与使用

Supervisor是一个进程监控程序。满足的需求是:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor.先弄懂两个命令:supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令supervisorctl:启动supervisor的命令行...

2018-05-28 14:21:58 554

原创 Spark开发性能调优

Spark开发性能调优标签(空格分隔): Spark–Write By Vin1. 分配资源调优Spark性能调优的王道就是分配资源,即增加和分配更多的资源对性能速度的提升是显而易见的,基本上,在一定范围之内,增加资源与性能的提升是成正比的,当公司资源有限,能分配的资源达到顶峰之后,那么才去考虑做其他的调优如何分配及分配哪些资源在生产环境中,提交spark作业时,使用spark-submit sh...

2018-04-12 15:47:01 270

原创 Hadoop1.0与Hadoop2.0的区别

一、从Hadoop整体框架来说        Hadoop1.0即第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中HDFS由一个NameNode和多个DateNode组成,MapReduce由一个JobTracker和多个TaskTracker组成。        Hadoop2.0即第二代Hadoop为克服Hadoop1.0中的不足:针对Hadoop1.0...

2018-04-01 23:38:56 233

原创 Hadoop1.0和Hadoop2.0的区别

什么是Hadoop1.0?Hadoop1.0即第一代Hadoop,指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成...

2018-04-01 23:33:41 700

原创 HDFS集群启动过程详解

HDFS的启动过程和关闭过程都经过脚本进行了封装,只需要执行start-all.sh和stop-all.sh就可以。操作较简单。下面针对启动阶段的原理和详细过程进行说明,对关闭过程目前还没有调研,所以暂缺。HDFS的启动分三步骤:l  第一步,启动namenode;l  第二步,启动datanode;l  第三步,启动Secondary namenode。下面一一描述。第一步,启动namenode...

2018-04-01 23:30:33 976

原创 保存

欢迎大家,加入我的微信公众号:大数据躺过的坑     免费给分享   同时,大家可以关注我的个人博客:   http://www.cnblogs.com/zlslch/   和  http://www.cnblogs.com/lchzls/    人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。  ...

2018-03-29 14:59:52 154

原创 Spark的算子的分类

从大方向来说,Spark 算子大致可以分为以下两类:     1)Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。     Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。     2)Action 行动算子:这类算子会触发 Sp...

2018-03-29 14:59:18 515

原创 SQL语句

基础创建数据库CREATE DATABASE database-name 12删除数据库drop database dbname12备份sql server创建 备份数据的 device USE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'123开始 备份BACKUP DATAB...

2018-03-15 20:38:29 155

原创 机器学习入门介绍

让我们从机器学习谈起导读:在本篇文章中,将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对阅读有相关的前提要求。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一:图1 机器学习界的执牛耳者与互...

2018-03-12 18:56:45 377

原创 解决eclipse/myeclipse导入项目时出现红色叹号的方法

如图所示在导入项目时出现红色叹号,解决方法主要分为如下几个步骤。1.右击出现红色叹号的项目,然后选择build path---->configure build path,会弹出如下窗口,选择Libraies,将里面出现红色错误标记的路径删除。  没有错误的无须删除。2.删除带有错误的路径之后,在点击ADD External JARs.......选项,将项目里面的jar包路径重新加载进去,...

2018-02-28 11:12:45 626 1

原创 Hadoop-源码分析--FileSystem的创建过程

HDFS,即Hadoop Distributed File System,为Hadoop的分布式文件系统。其实除了HDFS外,hadoop还支持其它类型的文件系统,比如FTP、本地文件系统等,而这些文件系统都扩展自抽象基础类FileSystem,该抽象类类提供了丰富的方法用于对文件系统进行操作,比如创建目录、删除文件、重命名等。无论使用的是HDFS还是本地文件系统,或者其它所支持的文件系统,推荐在

2018-01-08 15:30:09 853

原创 Hadoop-源码分析--HDFS读取文件

在上一篇文章《Hadoop-源码分析--FileSystem的创建过程》中我们分析了HDFS的DistributedFileSystem对象的创建过程,之后就可以按照HDFS的API对HDFS中的文件和目录进行操作了,如列出某个目录中的文件和子目录、读取文件、写入文件等。与使用Java IO读取本地文件类似,读取HDFS文件其实就是创建一个文件输入流,在Hadoop中使用FileSystem.

2018-01-08 15:28:06 337

原创 Hadoop源代码分析(完整版)

Hadoop源代码分析(一)关键字: 分布式云计算Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。 GoogleCluster:http://research.google.com/archive/googlecluster.html Chubby:http://labs.google.com/papers/chub

2018-01-08 10:12:45 19477 11

原创 Linux下目录和文件的三种权限

在Linux下,目录和文件会有3种权限,分别是:可读r,可写w,可执行x。那么目录和文件的权限有什么区别呢?这篇博文解释的就是这个问题。    在解释之前,我们应该有一些基础知识:Linux系统下有3种身份(所有组、用户组、其他人),3种权限(r,w,x),3个修改权限的命令(chown, chgrp, chmod)。1. 文件的3种权限1)read

2018-01-07 14:22:34 8726

原创 MapReduce工作原理图文详解

目录:1.MapReduce作业运行流程2.Map、Reduce任务中Shuffle和排序的过程 正文: 1.MapReduce作业运行流程下面贴出我用visio2010画出的流程示意图:   流程分析:1.在客户端启动一个作业。2.向JobTracker请求一个Job ID。3.将运行

2018-01-05 12:13:14 208

原创 MapReduce

一、神马是高大上的MapReduce  MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。但对许多开发者来说,自己完完全全实现一个并行计算程序难度太大,而MapReduce就是一种简化并行计算的编程模型,它使得那些没有多有多少并行计算经验的开发人员也可以开发并行应用程序。这也就是MapReduc

2018-01-05 10:59:51 216

原创 HDFS

HDFS优点    高容错性            数据自动保存多个副本            副本丢失后,自动恢复    适合批处理            移动计算而非数据            数据位置暴露给计算框架    适合大数据处理            GB、TB、甚至PB级数据            百万规模以上

2018-01-04 19:29:12 265

原创 EL表达式

一、EL表达式简介  EL 全名为Expression Language。EL主要作用:  1、获取数据    EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)  2、执行运算    利用EL表达式可以在JSP页面中执行一些

2017-11-02 19:23:30 168

原创 使用JDBC连接数据库

JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将JAVA代码连接到oracle、DB2、SQLServer、MYSQL等数据库,从而实现对数据库中的数据操作的目的。一、JDBC简介JDBC全称为:Java Data Base Connectivity (java数据库连接),可

2017-11-01 21:36:14 313

原创 MVC简介

MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用

2017-11-01 20:19:56 689

原创 Servlet详解

Servlet由来      做过BS项目的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页。但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证。或者说网页显示的内容在服务器的数据库中。如果是这样,除了负责显示的HTML标记之外,必须还要有完成这些业务功能的代码存在。这种网页我们就叫做动态网页。     对于静态网页而言,服务器上存在的是一个个纯HTML

2017-11-01 19:38:58 220

原创 javaweb学习总结——Servlet开发(一)

一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。  2、把开发好的Java类部署到web服务器中。  按照一种约定俗成的称呼习惯,通

2017-10-26 20:02:25 163

原创 Statement resuliset

Statement执行更新操作Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句。通过JDBC向指定的数据表中插入一条记录,需要注意下面的几点: * 1.Statement:用于执行SQL语句的对象

2017-10-24 21:19:06 529

原创 java-JDBC-ResultSet详解(java数据库操作)

这篇文章并没有给出如何使用ResultSet的具体例子,只是从ResultSet的功能性上进行了详细的讲述。希望这篇文章对大家理解ResultSet能够有所帮助。下面就是这篇文章的具体内容。 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等。 结果集

2017-10-24 21:10:06 241

原创 SQLServer - 约束

一、约束的分类  在SQLServer中,有3种不同类型的约束。  1、实体约束    实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。  2、域约束    域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。  3、参照完整性约束    如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键。二、约束

2017-10-22 17:04:10 592

原创 数据库基础——九种数据库对象

数据库对象是数据库的组成部分,常见的有以下几种:1.表(Table )数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关

2017-10-21 09:27:48 535

原创 SQL连接查询总结和练习

通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,是它区别于其它类型 数据库管理系统的一个标志。连接可以在SELECT 语句的FROM子句或WHERE子句中建立,在FROM子句中指出连接时有助于将连接操作与WHERE子句中的搜索条件区分开来。一般来说,连接查询比嵌套查询的效率高一点。所以,在Transact-SQL中推荐使用这种方法。   SQL-92标准所定义的FROM子句的连接

2017-10-20 22:30:48 802

原创 SQL-连接查询

1. 连接查询:    1) 即查询的时候同时需要多张表(特别是存在外键关系的),此时需要多张表之间的值进行连接;    2) 目前SQL标准提出过两种连接查询,第一种是较早的SQL92标准,第二种是目前使用广泛的较新的SQL99标准;    3) 92形式简单,但编写较为冗长,99不仅在底层得到优化,而且形式看上去更加一目了然,逻辑性更强,一般建议使用99标准;

2017-10-18 19:53:37 574

原创 八大算法 JAVA

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。        当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。   快速排序:是目前基于比较的内部排序中被认为是最好的方法,

2017-10-11 11:15:48 384 1

原创 synchronized详解

同步的实现当然是采用锁了,java中使用锁的两个基本工具是 synchronized 和 Lock。 一直很喜欢synchronized,因为使用它很方便。比如,需要对一个方法进行同步,那么只需在方法的签名添加一个synchronized关键字。 // 未同步的方法public void test() {}// 同步的方法pubilc syn

2017-09-23 11:48:40 1092

原创 Java wait() notify()方法使用实例讲解

1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。  2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁,或者叫管程)  3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的monitor的线程,如果有多个线程都在等待这个对象的monitor,则只能唤醒其中一

2017-09-22 14:13:51 206

原创 Java Thread 总结

1.线程概述线程是一个程序的多个执行路径,执行调度的单元,依托于进程的存在。线不仅可以共享进程的内在,而且还拥有一个属于自己的内存空间,这段内存空间就是线程栈,是在建立线程时系统分配的,主要用来保存线内部所使用的数据,如线程执行函数中所定义的变量,线程的状态等信息。Java中的多线程是一个抢占机制,抢占机制指的是多个线程处于可运行状态,但只是允许一个线程运行,他们通过竞争方式抢占CPU。

2017-09-21 16:16:39 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除