自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

itcats_cn的博客

造椭圆形的轮子

  • 博客(194)
  • 资源 (13)
  • 收藏
  • 关注

转载 ZooKeeper学习笔记【转】

Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的 Apache 项目。Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。

2020-09-25 11:32:44 77

原创 shell批量复制脚本(rsync)【直接复制拿走】

这篇文章主要介绍了批量复制scp、rsync及执行命令shell脚本,在大数据多机器部署或者日常的运维操作,能减少我们很大的工作量,提升效率

2020-09-17 12:00:35 120

原创 Maven搭建SpringCloud项目(eureka、gateway、路由转发)【无敌详细图文】

本文将向读者介绍如果使用Maven搭建SpringCloud项目,基于父子模块结构,搭建eureka注册中心模块/业务模块/路由网关gateway模块,图文并茂超级详细哦,傻瓜式教学,还看不懂劝退!!!一 、下载最基本的spring cloud项目1.1 进入spring官网下载项目:https://start.spring.io/选择项,如图所示,最后添加一个Eureka Server依赖,最后点击GENERATE按钮,下载到本地并解压1.2 打开IDEA, 点击open按..

2020-06-15 21:01:20 573

原创 JAVA获取当前日期或指定日期的前N天的日期集合

因为最近的业务系统需求,前端有两个时间选择框,分别为startTime和endTime,用户展示一段时间内的折线图,但是如果用户选择的时间段太长,折线图时间轴太密集,展示效果十分不佳,于是我使用java代码书写了一个时间工具类,可以返回当前日期或指定日期的前N天的日期集合,如果传入的开始时间和结束时间间隔太大,还可以自动适应时间。废话不多说,直接上代码。

2020-03-20 14:53:00 985

原创 MySQL计数器、每日计数器表设计与调优

计数器如果应用在表中保存计数器,则在更新计数器时可能碰到并发问题。计数器表在Web应用中很常见。可以用这种表缓存一个用户的朋友数、文件下载次数等。创建一张独立的表存储计数器通常是个好主意,这样可使计数器表小且快。使用独立的表可以帮助避免查询缓存失效,并且可以使用本节展示的一些更高级的技巧。应该让事情变得尽可能简单,假设有一个计数器表,只有行数据,记录网站的点击次数:CREATE TAB...

2019-11-10 21:52:37 882

原创 MySQL数据类型与优化

关于数据类型的优化1、假如只需要存0~255之间的数,无负数,应使用tinyint unsigned(保证最小数据类型)2、如果长度不可定,如varchar,应该选择一个你认为不会超过范围的最小类型比如: varchar(20),可以存20个中文、英文、符号,不要无脑使用varchar(150)3、整形比字符操作代价更低。比如应该使用MySQL内建的类型(date/time/dateti...

2019-11-07 22:07:01 853

原创 《On Java 8》中文版,《Java编程思想》第5版

前言 简介 第一章 对象的概念 第二章 安装Java和本书用例 第三章 万物皆对象 第四章 运算符 第五章 控制流 第六章 初始化和清理 第七章 封装 第八章 复用 第九章 多态 第十章 接口 第十一章 内部类 第十二章 集合 第十三章 函数式编程 第十四章 流式编程 第十五章 异常 第十六章 代码校验 第十七章 文件 第十八章 字符串 第十九章 类型信息...

2019-10-29 09:58:48 7175

原创 git从gitlab拉取最新的代码到本地

1、Git下载地址https://www.git-scm.com/download/win2、安装Git(安装步骤参考https://www.cnblogs.com/xwgcxk/p/9209237.html)3、从管理员手中拿到用户名、邮箱、密码假设用户名为: itcats_cn邮箱为itcats_cn@itcats.cn密码为123456784、初始化git信息(...

2019-09-17 19:27:05 57597 3

原创 版本控制工具Git详解

一、Git和SVN的区别?这是一个学Git无法绕开的话题,也是面试的常见题,我猜很多人的回答都是百度上直接背的,有了解过SVN底层的实现原理吗?SVN是一种集中式版本控制工具,SVN架构如图:A、B、C三个开发者如果需要提交自己的代码到远程仓库,必须联网(上传),上传之后SVN仓库内部做了什么?假设用户A提交代码,会将用户A改动过的A.java提交给SVN仓库,仓库中记录的...

2019-08-07 22:28:00 1128 2

原创 ElasticSearch基于version进行乐观锁并发控制实战解析

一、ES解决并发问题的实质ES在多线程异步修改数据时,是根据_version(版本号)来进行乐观锁控制的。1.1 了解_version是什么1、在第一次创建document的时候,该document的_version版本号为1,每次对document进行修改、删除操作,document的_version版本号加1PUT /test_index/test_type/6{...

2019-08-06 11:14:46 1024

原创 CSS选择器总结 思维导图

2019-07-12 13:33:31 353

转载 Java8新特性 利用流和Lambda表达式对List集合进行处理

最近在做项目的过程中经常会接触到 lambda 表达式,随后发现它基本上可以替代所有 for 循环,包括增强for循环。也就是我认为,绝大部分的for循环都可以用 lambda 表达式改写。lambda表达式有它自己的优点:(1)简洁,(2)易并行计算。尤其适用于遍历结果,循环计算数值或者赋值的时候非常方便。缺点: (1)若不用并行计算,很多时候计算速度没有比传统的 for 循环快。 ...

2019-07-11 17:16:49 725

原创 Java数组/List集合 转 JSON 字符串

1. 导入fastjson依赖2.转换代码public class Test{ public static void main(String[] args) { /* 需求: 将product数组(List) 转成 JSON 字符串 业务场景: 数据库查出的数据,经过数据分类处理后得到List/Arr,需要到前端Ec...

2019-07-09 16:31:04 1008

原创 cellspacing和cellpadding区别

cellspacing和cellspadding区别属性 含义 常用属性值 cellspacing 设置单元格与单元格边框之间的空白间距 像素值(默认为2px) cellspadding 设置单元格内容与单元格边框之间的空白距离 像素值(默认为1px) 不使用任何的cellspacing和cellspdding修饰:<table bo...

2019-07-08 22:13:42 656

原创 Spring Security入门【基于配置文件和数据库】

一、引言安全包括两个主要操作。“认证”,是为用户建立一个他所声明的主体。主题一般指用户,设备或可以在系统中执行动作的其他系统。简单来说,校验账号密码是否正确,就是"认证"的过程。“授权”,指的是一个用户能否在你的应用中执行某个操作,在到达授权判断之前,身份的主题已经由身份验证过程建立了。简单来说,就是用户是否有权利执行某项操作,而这个授权的过程一般已在数据库约定好了。对于安全框架,一般...

2019-07-07 18:14:46 587

原创 Spark Core入门2【RDD的实质与RDD编程API】

一、对RDD操作的本质RDD的本质是一个函数,而RDD的变换不过是函数的嵌套.RDD有两类:输入的RDD: 典型如KafkaRDD、JDBCRDD 转换的RDD: 如MapPartitionsRDDRDD的处理流程:以如下代码为例:sc.textFile("abc.log").map().saveAsTextFile("")1. textFile 会构建出一个NewHad...

2019-06-17 12:02:06 198

转载 RDD的几种创建方式

一、RDD简介RDD是Spark的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集 RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同节点上(分区即partition),从而让RDD中的数据可以被并行操作。(分布式的特性) RDD通常通过Hadoop上的文件,即HDFS文件,来进行创建;有时也...

2019-06-16 18:38:55 277

原创 Spark Core入门1【Spark集群安装、高可用、任务执行流程、使用Scala/Java/Lambda编写Spark WordCount】

一、Spark介绍Spark是一种快速、通用、可扩展的大数据分析引擎,包含SparkSQL、SparkStreaming、GraphX、MLlib等子项目。Spark是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。Spark的优点:1、快:与Ha...

2019-06-11 00:44:03 221

原创 基于Akka模拟Spark中Master和Worker的通信过程

一、Spark中Master与Worker之间的通信过程1、在启动时,Worker会向Master注册自己的信息(内存、核数等),以便2、Master收到各Worker的注册信息后,会回复Worker已注册成功的信息3、worker收到master的注册成功信息后,会定期向Master发送心跳包,回报自己的状态信息4、Master定期收到Worker的心跳信息后,会更新各个Wo...

2019-06-08 01:15:19 400

原创 基于Scala的并发编程模型Akka

一、Akka概念 Akka是JVM平台上构建高并发、分布式和容错应用的工具包和运行时环境。Akka用Scala语言编写,同时提供了Scala 、JAVA的开发接口。二、Akka中Actor模型2.1 Actor模型介绍 Akka处理并发的方法基于Actor模型。在基于Actor的系统里,所有的事物都是Actor。...

2019-06-06 00:43:16 216

原创 ElasticSearch-head安装配置教程

安装ElasticSearch图形管理界面ElasticSearch-head《elasticsearch-head》Github地址安装之前做一些准备工作,将itcats用户切换到root用户suecho "itcats ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/itcats返回: itcats ALL = (roo...

2019-04-27 19:41:49 270

原创 ElasticSearch入门

全文搜索属于最常见的需求,开源的 Elasticsearch是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。ElasticSearch 的底层是开源库 Lucene,Elasticsearch 是 Lucene 的封装,它提供了 REST API 的操作接口,开箱即用。本文从零开始,讲解如何使用 Elas...

2019-04-27 16:55:54 230

原创 ElasticSearch单机/集群搭建教程

本文将介绍ElasticSearch单机版与集群版的安装与配置,ElasticSearch依赖JRE,注意机器是否安装JDK8【最低版本要求就是JDK8】,且JDK环境变量是否已配置完成java -versionecho $JAVA_HOME一、下载《从官网下载ElasticSearch》二、上传安装包到虚拟机解压到/usr/local/下三...

2019-04-26 00:51:02 401

原创 Sqoop快速入门【导入数据到HDFS与导出数据到数据库】

1、Sqoop概述Sqoop - “SQL到Hadoop和Hadoop到SQL”sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据"的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等。2、工作机制将导入或导出命...

2019-04-23 17:15:50 1394

原创 StringUtils中 isNotEmpty 和isNotBlank的区别【Java字符串判空】

StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理。例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()

2019-04-20 17:06:33 254

原创 Flume快速入门

前言在一个完整的离线大数据处理系统中,除了HDFS+MapReduce+Hive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在Hadoop生态体系中都有便捷的开源框架,如图所示:图:典型大规模离线数据处理平台一、Flume日志采集框架1.1 概述Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输...

2019-04-20 13:39:33 199

原创 HBase原理详解【Master、Region Server内部机制、Zookeeper、读写数据流程、hbase:meta表】

一、HBASE运行原理组件结构图二、各组件的职责2.1 MASTER职责1、管理HRegionServer,实现其负载均衡。2、管理和分配HRegion,比如在HRegion split时分配新的HRegion;在HRegion Server退出时迁移其负责的HRegion到其他HRegionServer上。3、Admin职能:创建、删除、修改Table的定...

2019-04-18 21:25:31 1286 4

原创 HBase快速入门【集群安装配置、读写过程、表模型、命令行、API】

HBase官方文档地址:http://hbase.apache.org一、简单看看HBase与MySQL、Hive的区别二、什么是HBaseHBASE是一个数据库----可以提供数据的实时随机读写HBase与MySQL、Oralce、DB2、SQLServer等关系型数据库不同,它是一个NoSQL数据库(非关系型数据库)HBase的表模型与关系型数据库的表...

2019-04-18 00:42:44 214

原创 用生活举例看Java多线程活跃性问题【死锁、饥饿、活锁】

死锁:吃饭问题,5个人每人只有一双筷子,只有让另外一个人分享他自己的筷子给自己,自己才能吃到饭。若存在这样的情况,若每个人都不把自己的筷子借给别人用餐,每个人都抓着自己手中的筷子不放,那么每个人都吃不上饭饿死了。也就是说A线程拥有B线程所需的资源,B线程也有A线程所需资源,但两者都不把资源分享出来,最后需求达不到,最后饿死。饥饿问题:学校饭堂排队打饭,但有些人无秩序插队,那么插队的人拥有...

2019-04-12 18:07:21 437

原创 数据结构——哈希表

一、从一道Leetcode题目认识哈希表387.字符串中的第一个唯一字符因为该字符串只包含小写字母,即只存在a-z 26个小写字母,我们将其a-z对应到数组0-25索引的位置,出现一次,index+1代码编写:class Solution { public int firstUniqChar(String s) { int[] freq = new...

2019-04-12 18:06:14 162

原创 深入理解Hive【Hive架构介绍、安装配置、Hive语法介绍】

一、Hive的产生背景1、MapReduce编程十分繁琐2、传统RDBMS人员的需要Hive由Facebook开源项目:1、用于解决海量结构化日志的数据统计问题2、构建在Hadoop之上的数据仓库3、Hive提供SQL查询语言:HQL4、底层支持多种不同的执行引擎【MR/Tez/Spark】1.x默认为MR 2.x默认为Spark 当然也可以设置为Te...

2019-04-10 22:23:49 306

转载 Hive文件格式之textfile,sequencefile和rcfile的使用与区别详解

hive在创建表时默认存储格式是textfile,或者显示自定义的stored as textfile。很多人知道hive常用的存储格式有三种,textfile,sequencefile,rcfile,但是却说不清楚这三种格式的干什么用的,本质有有什么区别?适合什么时候用?为什么hive会有多种存储格式?因为hive是文本批处理系统,所以就存在一个往hive中导入数据的问题,首先数据的存储...

2019-04-10 13:56:00 1440

原创 Linux安装和配置MySQL5.7【修改密码、修改字符集等配置】

安装配置MySQL ,看这篇文章就够了。本文包括mysql安装,默认密码获取与修改,修改MySQL默认编码字符集,防火墙关闭CentOS6、CentOS7均可用一、下载和安装mysql源先下载 mysql源安装包[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7...

2019-04-09 15:19:32 1519 3

原创 MapReduce词频统计【自定义复杂类型、自定义Partitioner、NullWritable使用介绍】

一、MapReduce1.0运行模型二、MapReduce编程模型之执行步骤1、准备map处理的输入数据2、交给Mapper进行处理3、Shuffle【规则可以自己控制】4、Reduce处理[合并、归并]5、输出MapReduce处理流程InputFormat读数据,通过Split将数据切片成InputSplit,通过RecordReader读取记...

2019-04-08 16:42:05 563

原创 Yarn框架深入理解【Yarn集群配置】

一、Yarn框架产生的背景与原因我们都知道Hadoop诞生的目标是为了支持十几台机器的搜索服务,但是随着数据的增加,数据的可用性也是一个待解决的问题。但是Hadoop框架的自身问题限制了集群的发展。首先是,JobTracker和NameNode的单点问题,严重制约了集群的扩展和可靠性。MapReduce采用了基于slot的资源分配模型,slot是一种粗粒度的资源 划分单位,通常一个...

2019-04-08 10:37:17 266

原创 MapReduce工作流程超详细解释

MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太清楚,同时MapReduce1.0和MapReduce2.0在网上有很多人混淆。MapReduce1.0运行模型InputInput但是输入文件的存储位置,但是注意这里并一定是一些博客说的当然是...

2019-04-08 00:51:00 1067

原创 Scala中的reduceLeft,reduceRight,foldLeft,foldRight方法

scala中集合类iterator特质的化简和折叠方法c.reduceLeft(op)这样的调用将op相继应用到元素,如:eg:val a = List(1,7,2,9)val a1 = a.reduceLeft(_ - _)// ((1-7) - 2) - 9 = -17c.reduceRight(op)这样的调用将op相继应用到元素,如:var b ...

2019-04-07 13:49:36 266

原创 Scala学习笔记【从入门到放弃】

一、关于Scala安装https://www.scala-lang.org/download/如果你是Java程序员,想学习Scala,请看官网提供的快速入门:https://docs.scala-lang.org/tutorials/scala-for-java-programmers.html二、Scala语言Hello World的编写object H...

2019-04-05 00:36:29 492

原创 HDFS 原理详解【读写数据流程、NameNode与DataNode工作机制、checkpoint】

目录HDFS的工作机制 概述 HDFS 写数据流程 HDFS 读数据流程 NameNode的工作机制 NameNode的职责 元数据的管理 元数据的checkpoint DataNode的工作机制 观察验证DataNode功能HDFS的工作机制工作机制的学习主要是为加深对分布式系统的理解,以及增强遇到各种问题时的分析解决能力,形成一定的集群运维能力。很多不是真...

2019-04-04 20:07:20 760

原创 Hadoop核心组件之HDFS详解【运行机制、安装、操作与实战、NameNode高可用】

一、Hadoop的3个核心组件:分布式文件系统:HDFS——实现将文件分布式存储在很多的服务器上分布式运算编程框架:MapReduce——实现在很多机器上分布式并行运算分布式资源调度平台:YARN——帮用户调度大量的MapReduce程序,并合理分配运算资源二、HDFS整体运行机制HDFS:分布式文件系统2.1HDFS有着文件系统共同的特征有目录结构,顶层...

2019-04-03 17:29:55 386

尚硅谷大数据技术之Flume笔记.pdf

尚硅谷大数据技术之Flume笔记,整理的很详细。flume本身并不难极易上手,个人建议无需看一遍尚硅谷的视频,直接对照pdf实际操作一遍即可。

2020-07-21

itcats.zip

Maven搭建SpringCloud项目(包含eureka、gateway、路由转发),下载即可使用,日志模块齐全

2020-06-15

《Verilog HDL设计与实战》电子书pdf文件【PART2】

《Verilog HDL设计与实战》电子书pdf文件,解压后可用,高清pdf,初学FPGA和提升技术都可看~ 因为上传文件大小限制(需要下载两个部分),第二部分文件。

2019-03-05

《Verilog HDL设计与实战》电子书pdf文件【PART1】

《Verilog HDL设计与实战》电子书pdf文件,解压后可用,高清pdf,初学FPGA和提升技术都可看~ 因为上传文件大小限制(需要下载两个部分),第一部分文件。

2019-03-05

《Verilog HDL设计与实战》电子书pdf文件【第一部分】

《Verilog HDL设计与实战》电子书pdf文件,解压后可用,高清pdf,初学FPGA和提升技术都可看~ 因为上传文件大小限制(需要下载两个部分),第一部分文件。

2019-03-05

Modelsim-Altera 10.1d等多版本patch_破解【亲测可用】

Quartus II13.0下的Modelsim-Altera 10.1d破解,不仅限于10.1d,包括10.1b、10.1c等多个版本都可用,包含破解方法说明。

2019-03-05

fastdfs_client_v1.20.jar

&lt;!-- 使用命令,手动安装到中央仓库 --&gt; mvn install:install-file -DgroupId=org.csource.fastdfs -DartifactId=fastdfs  -Dversion=1.2 -Dpackaging=jar -Dfile=d:\fastdfs_client_v1.20.jar

2018-08-19

HeimaCodeUtil_V2.4黑马49期配套代码生成器

HeimaCodeUtil是黑马程序员官方推出的一款代码生成工具,软件支持多种代码模板生成,包括前端页面等。49期学习配套软件,可以生成 1.SSM+dubbox+angularJS(服务层+WEB层) 2.SSH2+easyUI架构; 3.SSH2+angularJS+bootstrap架构 4.SpringBoot+StringDataJPA微服务 等多种模板的代码自动生成,还可以自定义模板结构 支持oracle+mysql多数据库。

2018-08-16

dobbo-admin-2.5.4.war

dubbo2.5.4.war/dubbo2.5.4.war/dubbo2.5.4.war/dubbo2.5.4.war测试过无任何问题,可以直接下载使用

2018-08-13

tomcat7.0.52

企业常用tomcat版本——7.0.52版本,测试过,无任何问题,下载直接可上线使用

2018-08-13

FWR310 v4路由器升级

FWR310 v4路由器本地升级,在没升级之前我房间的路由器一直卡,不稳定掉线,甚至有几台设备还连接不上wifi,后来我升级了20141014后,路由器恢复了正常,下载时候需要注意型号是FWR310!!!

2018-08-10

logback-spring.xml

按日期每天输出日志,输出到指定文件夹,并且按日志的级别进行了过滤功能,适合生产环境下的日志输出logback-spring.xml,放入项目中可以直接引用,springboot默认读取logback-spring.xml

2018-06-23

pagehelper3.4.2-fix

宜立方商城、淘淘商城的reposity并没有提供pagehelper3.4.2-fix,而中央仓库也无法下载pagehelper3.4.2-fix,因为fix是经过定制修改的,添加后pom.xml将不会报错

2018-05-28

空空如也

空空如也

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

TA关注的人 TA的粉丝

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