自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows下配置Python编写Spark程序

环境版本Anaconda 4.10.1Spark版本2.4.31.先安装Anaconda,不赘述。2.安装Spark2.1下载Sparkspark下载地址选择2.4.3下载2.2安装Spark解压至目录D:\spark-2.4.3-bin-hadoop2.7。在D:\spark-2.4.3-bin-hadoop2.7\conf文件夹下,复制一份log4j.properties.template并改名为log4j.properties,修改日志级别如下:log4j.rootC

2021-05-26 15:27:15 244

原创 idea中运行tomcat项目无法加载类问题

先看一下错误信息08-Mar-2021 13:53:47.744 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误 java.lang.ClassNotFoundException: org.springframework.web.cont

2021-03-08 14:04:01 2487

原创 Kafka高效读写数据原理

Kafka能够实现高效的数据读写,主要是有下面一些原因:顺序写磁盘  当kafka接收到生产者传递过来的消息后,kafka是直接将数据追加到log文件中的,属于顺序写文件,对于同样的磁盘来说顺序写文件的效率要大大高于随机写文件。应用Pagecache  kafka将数据直接持久化到pagecache中,其实就是内存中,这样有几个优点:I/O Scheduler可以将多个小块的写组装成大块的写操作,降低了I/O次数利用空闲内存(非JVM内存),这样可以减少JVM的GC操作消费者可以直接从

2020-12-08 22:09:57 554

原创 Kafka的基础架构

简介Kafka是一个基于发布订阅的分布式消息队列,主要用于大数据实时处理场景。Producer:消息生产者,向kafka集群发送消息的客户端。Consumer:消息的消费者,向Kafka集群取出消息的客户端。Consumer Group:多个消费者也可以联合起来组成一个消费者组,这个消费者组共同消费一个topic中的数据,只不过一个topic的一个分区只能由一个消费者组中的消费者消费,并且一个消息只会被消费者组中的一个消费者所消费,其它同组消费者不会重复消费该消息。Broker:kafka集

2020-12-08 16:45:11 114

原创 向YARN提交作业工作流程

1.MapReduce程序提交到客户端节点2.客户端节点向RM申请ApplicationMaster,(每一个任务都会对应一个ApplicationMaster,这个ApplicationMaster负责后续任务的运行),RM告知客户端资源上传路径,这里上传资源到HDFS是因为要运行的程序需要共享到其它节点,而HDFS上的资源是可以被节点共享的。3.客户端将资源上传至目标路径。4.资源提交完毕后,客户端申请RM运行ApplicationMaster。5.RM将运行ApplicationMaster.

2020-12-01 15:59:03 182

原创 MapReduce的数据切片和并行度

简介MapReduce主要分为两个阶段,map阶段和reduce阶段。而map阶段的数据主要是交给MapTask来进行处理,同样reduce阶段主要是交给ReduceTask来处理。那么在这两个阶段中启动多少个Task将直接影响数据处理的效率,下面分别介绍影响这两个阶段Task数量的因素以及如何设置Task数量。MapTask的数量在介绍一个任务中MapTask数量之前要先介绍一下分片的概念。一个...

2020-11-30 15:56:34 292

原创 HDFS中NameNode和Secondary NameNode

NameNode和SecondaryNameNode工作机制NameNode主要是存放一些元数据信息,那么这些元数据信息如果存放在磁盘中,每次请求都去磁盘中查找元数据,这样效率很慢,所以在Hadoop中元数据都是存放在内存中的。这样会带来一个问题,如果掉电,内存中的数据就没有了,所以为了保证元数据的安全性,所以需要对内存中的元数据进行备份。所以磁盘中就产生了备份数据FsImage。但是这样还是会出现另一个问题,那就是当我们更新了内存中的元数据,就需要同时更新FsImage,这样会导致效率很低。此时引入了E

2020-11-29 19:55:47 226

原创 HDFS的读写机制

HDFS写数据流程1.客户端向NameNode发送上传文件的请求,NameNode会检查上传的文件是否存在,路径是否合法。2.当客户端的上传请求通过检查后,NameNode会响应客户端允许上传文件。3.客户端将待上传文件按照默认数据块大小进行分块,然后请求NameNode上传第一个数据块,让NameNode返回数据块存储节点。4.NameNode返回数据块存储的节点dn1、dn2和dn3,一般设置几个副本,将会返回几个节点。5.客户端向dn1请求建立数据上传通道,然后dn1调用dn2,dn2调用

2020-11-29 16:36:42 89

原创 Hadoop的组成

简介Hadoop是一个分布式系统的基础框架,现在主要是指Hadoop大数据处理生态圈,在这个生态圈中有很多大数据处理框架,其中组成Hadoop的最核心框架有三个MapReduce、YARN和Hdfs,分别是分布式计算框架、资源调度框架和分布式文件系统。HDFSHDFS是一个分布式文件系统,主要的作用是用来解决海量数据的存储问题,将很多台机子联合起来组成一个大的文件系统,这个文件系统的存储容量可以根据机子节点的数量动态的扩容和减少。这些联合起来的机子我们称为集群,集群中的单个机子称为节点。集群中的每

2020-11-29 15:00:20 803

原创 Linux中修改文件权限

文件属性首先Linux是一个多用户操作系统,所以不同的用户对于同一个文件拥有不同的权限,使用ll指令可以查看一个文件的详细属性,如下图:其中文件类型与权限中的第一位如果是 d 则代表是目录,如果是 - 代表这是个文件。r 代表读权限,w 代表写权限,x 代表执行权限。改变文件权限有两种方式改变文件的权限第一种:chmod [ugoa] [+_=] [rwx] [文件],其中第一个参数u代表属主,g代表属组,o代表其他用户,a代表所有。第二个参数+是增加权限,-是减少权限,=直接赋予什么权限

2020-11-28 14:58:33 393

原创 Linux中VI/VIM编辑器

简介VI是Linux中最为常用的编辑器,VIM是VI的升级版同时完全兼容VI,VIM字体有颜色的变化,可以更加方便的辨别语法的正确性。VI/VIM编辑器一共有三种模式一般模式:进入VI/VIM后编辑器默认是这种模式,这个模式下可以根据上下键以及快捷键移动光标,也可以复制,删除某些行的内容,但是不能插入内容到文本之中。编辑模式:在一般模式下按下insert键或者i键可以进入编辑模式,主要可以用来对文本进行一些编辑工作,编辑完毕之后需要按下Esc键回到一般模式,如果想要保存文件需要进入命令模式。命

2020-11-27 18:51:20 71

原创 Linux中文件目录结构

Linux中文件目录结构只介绍几个比较重要的文件目录/usr/bin:放置着经常使用的命令。/usr/sbin:其中的s指的是spuer user的意思,里面存放的是系统管理员使用的系统级别程序。/home:Linux是多用户系统,每个普通用户都有一个自己的文件夹,这个文件夹就放在这个目录下面,并且一般是以用户名命名。/root:这个是系统管理员的目录。/etc:所有系统管理的配置文件都放在这个目录下面。/usr:这个目录可以类比于Windows的program files目录,很多应用程序

2020-11-27 18:07:48 122

原创 CentOS 7安装以及网络配置

CentOS 7安装1.安装虚拟机2.虚拟机的网络配置3.CentOS 7系统安装4.CentOS 7开启网络、关闭防火墙以及设置静态IP1.安装虚拟机新建虚拟机hadoop101建议修改虚拟机名称和存放位置。关于处理器和内存根据自己电脑配置修改。放入centos 7的iso文件2.虚拟机的网络配置虚拟机的网络配置主要分为两种,第一个就是桥接模式,第二个是NAT模式。桥接模式:可以让虚拟机直接连接到本地局域网,并且同一局域网内的其他机器也能够访问这台虚拟机,这种网络

2020-11-27 14:29:07 851

原创 Linux下搭建高可用MySQL

Linux下搭建高可用MySQL说明:首先准备两台centos 7系统的虚拟机,MySQL使用5.6版本。安装MySQL分别在两台虚拟机中安装MySQL在Linux中解压mysql-libs.zip包,包内包含三个文件-rw-r--r--. 1 root root 18509960 3月 26 2015 MySQL-client-5.6.24-1.el6.x86_64.rpm-rw-r--r--. 1 root root 3575135 12月 1 2013 mysql-connector

2020-09-08 11:42:27 381

原创 Hadoop集群搭建

Hadoop集群搭建说明:本文使用三台虚拟机来搭建hadoop集群。虚拟机系统版本为centos 7,hadoop版本为2.7.2。文中主要介绍虚拟机的安装、虚拟机的网络配置以及hadoop集群的搭建。1 虚拟机安装新建虚拟机hadoop101建议修改虚拟机名称和存放位置。关于处理器和内存根据自己电脑配置修改。放入centos 7的iso文件配置虚拟机的网络打开本机电脑的网络设置(右键属性)打开虚拟机网络设置开始安装系统选择自动分区即可设置ro

2020-09-07 20:43:56 216

原创 在Linux中部署SpringBoot项目

1.利用maven将SpringBoot项目打成jar包这里使用idea利用maven进行打包,如下:最后会在项目的target文件下找到打成jar包后的项目,如下:2.将项目jar包上传至Linux系统中本文使用宝塔系统上传文件至Linux系统,不赘述。3.Linux部署命令介绍//cd到项目jar包目录下//启动jar包命令,关闭后台项目仍然运行nohup java -jar behavior.jar > records.log 2>&1//查看正在运行的Java

2020-05-17 20:40:08 351

原创 SpringBoot配置拦截器,登陆验证并放行静态资源

1.创建拦截器//自定义拦截器,定义之后需要将拦截器注册到springboot中public class LoginInterceptor implements HandlerInterceptor { //所有的请求会先进入preHandle,在这个方法中进行登陆验证, //若用户已登陆则放行,若用户没有登陆则跳转至登陆页面 @Override public boolea...

2020-03-28 17:41:40 1593 1

原创 利用Ajax上传文件

1. 利用Ajax发送请求$.ajax({ url:"login",//请求得地址 type:"POST",//请求得方式 async:true,//是否开启异步 data:{"id":id,"pwd":pwd},//发送请求时所携带得数据,json类型 dataType:"json",//后端返回得数据类型 success:function(data) { //请求成功时回调函...

2020-03-28 17:21:25 93

原创 Mybatis自定义SQL语句传参方式

Mybatis自定义SQL语句传参方式1.注解的方式自定义SQL语句在Mybatis中可以不配置映射文件,使用注解的方式来书写SQl语句。1.根据车牌号更新车辆的电话,使用#{}来取出传入的参数@Update("update taxi_info set tel=#{tel} where id=#{id}")void updateTel(@Param("id") String id,@Pa...

2020-03-22 19:28:17 2162

原创 设计模式:单例模式

设计模式:单例模式序言单例模式属于创建型模式,当项目中某个对象在整个声明周期中只需要创建一个实例时可以使用单例模式。如:经常用到的对象,工具类对象,频繁访问数据库或文件的对象。单例模式一共有八种创建方式,这里只介绍七种。/*单例模式*///饿汉式(静态变量)/* * 优点: * 写法简单,类装载的时候就创建实例,避免了线程同步的问题。 * 缺点: * 若一直没有用过则会...

2020-02-05 14:32:13 103

原创 SpringBoot整合Druid数据库连接池

SpringBoot整合Druid数据库连接池1.引入pom文件<!--Druid连接池--><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <ver...

2020-01-30 16:05:31 238

原创 SpringBoot整合EhCache

SpringBoot整合EhCache序言本文主要简单介绍再SpringBoot下如何集成EhCache,EhCache一种缓存技术,个人认为用在小型项目中及其方便,提高系统的读取性能,但是不适用大型项目,大型项目还是应该考虑Redis作为缓存技术。整合步骤1.引入依赖<!--缓存支持启动器--><dependency> <groupId&gt...

2020-01-15 19:59:53 445

原创 MybatisGenerator及PageHelper的使用

MybatisGenerator及PageHelper的使用序言本文主要介绍,在SpringBoot下MybatisGenerator和PageHelper如何使用。在日常Mybatis的使用过程中,我们需要自行创建实体类、编写Mapper接口以及创建Mapper接口的映射文件,然后实现相关对数据库的操作。MybatisGenerator的作用:自动生成实体类、Mapper接口和映射文件...

2020-01-13 18:27:23 682

原创 WEB项目中的通用返回类

WEB项目中的通用返回类实现步骤1.新建一个枚举类型,如下:斜体样式枚举类型中存放着返回状态码和返回的消息,这样做可以更加方便的添加新的返回状态码和返回信息。public enum ResultCode{ SUCCESS(200,"操作成功"), FAILED(500,"操作失败"), VALIDATE_FAILED(404, "参数检验失败"), UN...

2020-01-13 17:25:47 925 1

原创 Spring Boot整合Mybatis

Spring Boot整合Mybatis1.创建SpringBoot项目2.添加依赖3.创建文件目录4.在启动类上添加注解5.在application.properties文件中配置扫描映射文件6.映射文件模板7.注解方式无需映射文件1.创建SpringBoot项目使用idea工具创建一个SpringBoot项目,傻瓜式操作,不赘述。2.添加依赖<dependency> ...

2020-01-09 20:22:43 211

空空如也

空空如也

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

TA关注的人

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