自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Spark问题诊断】WARN hdfs.DFSClient: Failed to connect to /10.23.60.50:9866 for block ...

线上StructuredStreaming出现以下情况:最后一个task运行时间明显不正常,于是翻了executor的日志,报错如下:21/10/20 17:04:53 WARN hdfs.DFSClient: Failed to connect to /xxx.50:9866 for block BP-2045603532-xxx-1567160332810:blk_1269487871_195770142, add to deadNodes and continue. java.net.

2021-10-20 18:10:34 1960

原创 Spark源码分析之:Shuffle

这一篇我们来分析Spark2.1的Shuffle流程。其实ShuffleDependency从SparkContext初始化就已经被DAGScheduler划分好了,本文主要探讨在Task运行过程中的ShufleWrite和ShuffleRead。要从Task运行开始说起,就要知道Task在哪里运行的。我们普遍认为Executor是负责执行Task的,但是我们发现Executor其实就是一个类private[spark] class Executor(){}而在一个Application提

2021-03-16 16:48:54 479 1

原创 Spark on YARN的任务提交流程源码分析一:cluster模式

Spark的部署模式有Standalone、Hadoop YARN、Apache Mesos、Kubernete四种。在我们平时的练习中,可能会用到Standalone模式,但是在实际生产环境中,绝大多数用的还是YARN(Mesos国内基本很少用)。而对于YARN的两种模式,个人认为cluster模式比较多,所以,我们先从cluster模式讲起。之前我也知道在一个Spark程序中,Driver是什么,Executor是什么,在YARN的cluster模式下,Driver是运行在Applicati.

2021-01-15 10:44:54 544

原创 Kafka优化,Kafka生产者参数配置详解

前言参数详解acksbuffer.memorycompression.typeretiresbatch.sizelinger.msclient.idmax.in.flight.requests.per.connectiontimeout.ms、request.timeout.ms和metadata.fetch.timeout.msmax.block.msmax.request.sizereceive.buffer.bytes和send.buffer...

2020-09-29 14:48:06 3405

转载 Kafka写磁盘为什么那么快?

我们都知道Kafka一大特点就是快,每秒甚至可以达到百万级别的吞吐量,然后这种级别的吞吐量居然还是基于磁盘的读写,那么kafka是如何做到的呢?接下来我们就一起来分析下其中的奥妙。磁盘顺序写对于一般的机械硬盘来说如果要查找某个数据,需要先寻址,然后通过机械运动(磁头臂驱动磁头找到对于的磁道、扇面)来读取数据,这种飘忽不定的查询方式就造成了大量的时间消耗在了机械运动上,磁头被不停的移来移去,所以说我们一般说的磁盘读写慢实际上更强调的是磁盘随机读写慢。所以相对随机读写,顺序读写就快很多了,因为顺序读

2020-09-11 17:50:35 449

原创 通俗易懂的Kafka零拷贝机制

Kafka之所以那么快,其中一个很大的原因就是零拷贝(Zero-copy)技术,零拷贝不是kafka的专利,而是操作系统的升级,又比如Netty,也用到了零拷贝。下面我就画图讲解零拷贝,如果对你有帮助请点个赞支持。传统IOkafka的数据是要落入磁盘的,那么必然牵扯到磁盘的IO,传统磁盘IO又叫缓存IO,效率是很低的,那么为什么效率低呢?我们先来粗略讲讲操作系统的知识。用户空间以及内核空间的概念:我们知道现在操作系统都是采用虚拟存储器。那么对32位操作系统而言,它的寻址空间(虚拟存储空间)

2020-09-11 11:01:00 6710 5

原创 SparkSQL整合Drools,并用MySQL数据库实现动态规则

前言Drools这个规则引擎其实不怎么好用,但是总比if-else强,虽然用着憋屈,但需要的时候也是没办法。在网上找过很多文章和视频,要不就是实用性不高的Demo,要不就是粗略归纳,看的云里雾里的水文。我自己也是被这个东西恶心到了,所以完成之后决定写一个实用的Demo,希望可以帮助到需要的人。一:Drools的使用其实Drools的使用方式我觉得有3种:基于Web页面的WorkBench优点:web页面,操作简单,可动态配置修改规则文件,不影响项目的运行缺点:web页面卡顿。。..

2020-09-04 18:05:16 4019 4

原创 IDEA整合gitee

个人觉得github全英文看着不爽,所以使用gitee,俗称码云。安装Git整合gitee需要git这个工具,官网下载地址:https://git-scm.com/downloads,直接下载windows版本就可以了,傻瓜式安装。安装完成后,鼠标右键会有Git Bash,如图:配置Git配置git只需要简单几步: 1.任意位置右键打开Git bash,输入以下命令//设置用户名git config --global user.name "zhangsan"...

2020-08-18 22:09:47 321

原创 linux中nginx的location配置无效

今天在用nginx的时候,遇到了一个糟心的事,我的nginx.conf文件无论再怎么修改,再怎么刷新,浏览器显示的都是nginx的欢迎界面无论如何都找不到解决方法,我甚至讨厌的把这个欢迎的html删了。我不知道是谁的问题,心里把阿里云臭骂了n遍。。。(我是在阿里云上搭的)最后无意间我发现,???我搞了一天都没发现这里有个conf文件。原来我修改的一直都是安装目录下的我也是服了,我做大数据的,组件基本都是在安装目录下的conf下配置,所以自然而然的想到的是安装目录。这...

2020-08-07 17:05:48 4264 1

原创 Centos7安装Mysql5.7报错:Job for mysqld.service failed because the control process exited with error code

今天在用阿里云Centos7安装Mysql5.7的时候遇到了几个坑。我用的是rpm安装的。第一个坑如图:[root@iz2zegolnnj9g2xwvqk8nkz MySQL]# rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpmwarning: mysql-community-server-5.7.28-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5:

2020-07-27 17:49:43 7924 13

转载 Kylin与Phoenix的区别

大数据时代,数据的价值越来越被重视,企业从海量大数据中挖掘所需要的信息,用来驱动业务决策以获得更大的商业价值。与此同时,出现了越来越多的大数据技术帮助企业进行大数据分析,例如 Apache Hadoop,Hive,Spark,Presto,Drill,以及今天我们即将介绍的 Apache Kylin 和 Apache Phoenix 项目等,都是使用 SQL 语言就可以分析大数据,极大地降低了大数据的使用门槛。这些大数据技术提供 SQL 查询接口,不只是因为 SQL 学习成本低,同时也和 SQ.

2020-07-10 15:54:38 1141

原创 浅谈Apache Kylin基础知识

一:介绍1.1 Kylin是什么?Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区。它能在亚秒内查询巨大的表。同时Kylin也是第一个由中国人主导开发的Apache顶级项目。1.2为什么要用Kylin?我国的14亿人口为我国的大数据发展带来了巨大的挑战,同时挑战必然会推动我国大数据的发展,可见人口众多还是有很多优点的[手动滑稽]。随着.

2020-07-10 14:55:16 257

原创 浅谈数据仓库、BI与OLAP

一:数据仓库1.1概述数据仓库(Data Warehouse)简称数仓(DW),是一种信息系统的资料储存理论,此理论强调的是利用某些特殊资料存储方式,让所包含的资料有利于分析处理,从而产生有价值的资讯并以此做出决策。简单来讲,数据仓库就是一个各种数据的中心存储系统,在数仓的基础上可以进行数据挖掘,数据分析等操作。后续讲到的BI也必须建立在数仓的基础上。1.2维度建模维度建模是数据仓库建设中的一种数据建模方法,用于决策制定,侧重于业务如何表示和理解数据。基本的维度模型由维度和度量两类...

2020-07-10 14:44:06 2298

原创 LeetCode之:判断字符是否唯一

一:题目描述实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = "leetcode"输出: false示例 2:输入: s = "abc"输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/is-unique-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题目链接:https://leetcode-cn.com/problems/is-un..

2020-07-01 14:55:17 276

原创 Hadoop或Spark运行缺少winutils.exe文件

报错如下:ERROR Shell: Failed to locate the winutils binary in the hadoop binary pathjava.io.IOException: Could not locate executable D:\SoftWare\hadoop-2.7.7\bin\winutils.exe in the Hadoop binaries.这个问题是大部分初学者都会犯的错误,解决办法就是将官网下的源码在Windows上编译一下,但是这个相当麻烦。

2020-06-24 16:50:06 8058 30

转载 MySQL知识点面试100问

一:基础知识1.为什么使用数据库数据保存在内存容易丢失 数据保存在文件中容易造成大量的IO操作,查询速度慢且不方便 数据保存在数据库中,可以永久保存,管理数据方便,可使用SQL语句,查询效率高。2.DB、DBS、DBMS之间有什么关系三者的关系是DBS包括DB和DBMS。DB是database的缩写也就是数据库,数据库是存储数据的一个集合,数据库中通常使用数据表等组成,而数据表是又数据的字段和数据的值等信息组成。 DBS是Database System的缩写也就是数据库系统,数据库.

2020-05-27 21:59:03 944

原创 IDEA的LeetCode力扣插件设置与使用

今天发现了一个IDEA整合LeetCode的插件,有了这个插件,可以在IDEA本地编辑代码并且运行提交,还能关联自己的账号,简直实用之极。看网上介绍的都不太详细,我来写个清楚点的。插件如图:一:下载插件点击File->Setting->Plugins:搜索leetcode下载就行了。如果你的搜不到,可以尝试重新打开Setting重新搜,还没有的话,可以去官网插件库下载,然后导入就可以了。链接:https://plugins.jetbrains.com/plugin/12...

2020-05-13 00:37:54 41685 23

原创 从零开始在CentOS7中安装Hue

一:安装1.1:下载下载从官网就可以,刚开始接触hue的时候觉得这官网是什么东西,熟悉的“Download”按钮呢?后来我研究研究发现,以3.9版本为例:点击终于找到了一个叫压缩包的东西。。。接着我又发现了有趣的事。大哥你是官方啊,能不能严谨点,你这像是告诉我,这是下载的地方?多的我不想吐槽了,反正我就下载个软件下了半天,4版本以上的下载很简单,但...

2020-05-06 12:56:03 568

原创 LeetCode面试题第56题:数组中数字出现的次数

一:题目一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]来源:力扣(LeetCode)...

2020-04-28 23:31:39 533

原创 LeetCode第46题:全排列

一:题目给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations著作权归领扣...

2020-04-25 23:11:23 210

原创 HBase启动报错:Operation category READ is not supported in state standby

今天配置HBase的HA,启动的时候,master1节点的HMaster启动10秒左右就自动挂掉,master2的备份节点的web界面也访问不了,查看日志报了如下错误:2020-04-24 16:51:45,573 FATAL [Master1:16000.activeMasterManager] master.HMaster: Unhandled exception. Starting s...

2020-04-24 17:47:18 704

原创 LeetCode第199题:二叉树的右视图(Java)

一:题目给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入:[1,2,3,null,5,null,4]输出:[1, 3, 4]解释: 1 <---/ \2 3 <---\ \ 5 4 <---来源:力扣(L...

2020-04-22 20:58:03 264

原创 LeetCode第239题:滑动窗口最大值(Java)

一:题目给定一个数组 nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]来源:力扣(LeetC...

2020-04-22 10:48:02 1120

原创 LeetCode第98题:验证二叉搜索树(Java)

一:题目给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例1:输入: 2 / \ 1 3输出: true示例2:输入: 5 / \ 1 4 / \ ...

2020-04-21 10:18:32 224

原创 LeetCode第739题:每日温度(Java)

一:题目根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]...

2020-04-18 23:43:46 315

原创 KMP算法的next数组是怎么算的

一:引言这几天刚开始学算法,感觉还是很吃力的,比如今天学习的KMP算法,KMP算法的介绍我就不必多说,我们都知道此算法的核心就是前缀数组next的创建,而今天我在学习的时候,在这里遇到了问题,我在网上找了很多视频,但依然很懵,没有彻底透明。然后呢,我就反复的看视频的实现代码,用很多例子带入观察。最后,由于我脑子愚钝,花了一下午才弄明白到底是怎么回事。写此博客记录下成果,同时也给在学此算法的刚入...

2020-03-22 10:13:42 326

原创 队尾幸运编号:N个人排成一队,从1到5轮流报数....(java实现)

题目描述:N个人排成一队,从1到5轮流报数,报5的人是幸运者,出列。报到队尾后,从队首接着报。依此循环。问:排在队尾的人是第几名幸运者?注:N为小于100000的正整数。例如:1人排成一队,他就是第1名幸运者。3人排成一队,队尾是第2名幸运者。5人排成一队,队尾是第1名幸运者。8人排成一队,队尾是第3名幸运者。即求:N人排成一队,队尾是第多少名幸运者?问题解析:这...

2020-03-08 21:51:11 995

原创 Kafka+SparkStreaming实现记录用户发布包含敏感词弹幕的次数,并入库HBase

目录一:项目需求1.1、需求说明1.2、准备工作二:项目实现三:结果展示四:结束语一:项目需求1.1、需求说明 弹幕的日志格式为: IP,UID,Time,URL,Referrer(访问来源),status code(状态码) 示例:将敏感词放在一个文件里 示例:每1分钟统计一次10分钟内发布的弹幕内容出现敏感词汇超过5次的用户ID,并...

2019-12-24 23:05:18 472

原创 Hive的安装部署及配置MySQL元数据

目录前言:版本说明一:Hive环境介绍1.1 Hive的安装模式1.1.1 内嵌模式1.1.2 独立模式1.1.3 远程模式1.2 基本要求二:安装MySQL2.1 下载MySQL2.2 安装2.3 设置MySQL三:安装 Hive3.1 下载 Hive3.2 解压 Hive并配置环境3.3 添加MySQL驱动3.4 格式化 ...

2019-12-24 23:04:16 1502 2

原创 Flink学习笔记(一):No new data sinks have been defined since the last execution.

问题描述:初学flink,在IDEA中写离线批处理的wordcount后,运行报了以下异常:Exception in thread "main" java.lang.RuntimeException: No new data sinks have been defined since the last execution. The last execution refers to the...

2019-12-17 09:31:10 2878 1

原创 ERROR StreamingContext: Error starting the context, marking it as stopped

问题描述:今天帮别人调试flume+kafka+sparkstreaming的整合,在运行的时候报了以下错误:ERROR StreamingContext: Error starting the context, marking it as stoppedorg.apache.kafka.common.KafkaException: Failed to construct kafka ...

2019-12-16 22:36:34 2927

原创 Scala在IDEA中的缩进设置

1.开发java的时候用惯了4个空格的缩进,但是在开发scala的时候却变成了两个,感觉很别扭。2. 找到file>Settings>Editor>Code Style>Scala改为如图值,点击OK3.然后重新创建的Scala文件就是缩进为4的了。...

2019-09-19 20:19:05 3207

原创 HTML的登录界面怎么把请输入账号写在框内

在用html或者jsp写登录界面的时候,可能需要将“请输入账号”和“请输入密码”这些东西放在框内,在我们输入的时候自动消失,如图:代码:<input type="text" name="username" placeholder="请输入账号"/></br><input type="password" name="password" place...

2019-05-09 16:59:45 5177

空空如也

空空如也

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

TA关注的人

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