- 博客(44)
- 收藏
- 关注
原创 从零开始学React
D:\code\test>npx create-react-app yk-reactnpx: installed 67 in 87.589sCreating a new React app in D:\code\test\yk-react.Installing packages. This might take a couple of minutes.Installing react, react-dom, and react-scripts with cra-template....
2021-10-05 17:21:54
2792
原创 K8S单节点变集群
一、记录k8s-master节点信息k8s-master节点的信息,这一步主要是为了让在执行添加节点后,master节点的变化,本身没有什么作用。[root@k8s-master centos]# kubectl get pod --all-namespacesNAMESPACE NAME READY STATUS RESTARTS AGEkube-system
2021-03-07 19:22:23
315
原创 VMware上Centos8配置静态IP
在虚拟机内部,点击右上角箭头。如下图所示,VMware会默认动态分配(可在VMware的网络编辑器中查找或修改)IP等信息。配置完成后,可重新点进去再确认一次。完成后,可以重启系统。再次确认下。...
2021-03-06 20:42:19
218
原创 Centos8修改主机名
修改主机名时,直接使用系统提供的工具进行修改。[root@localhost centos]# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 89bf177f78dc49f6b4954e1e9511e267 Boot ID: 8f46edc8b7b648f58d5d4c.
2021-03-06 20:26:10
678
原创 VMware内Centos系统时间与系统本地时间不一致问题
执行如下两条命令,稍等片刻,Centos系统时间会切换与系统本地时间一致。rm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2021-03-06 19:57:43
362
原创 Centos安装K8S更新问题
[root@k8s-master centos]# yum updateRepository extras is listed more than once in the configurationLast metadata expiration check: 0:14:25 ago on Fri 05 Mar 2021 11:51:26 PM PST.Error: Problem: cannot install both kubelet-1.18.4-0.x86_64 and kubelet-.
2021-03-06 16:15:05
4288
1
原创 制作Docker Image
一、前提已完成Docker安装。二、步骤制作镜像有两种方法。一种是通过Dockerfile,还有一种是进入基础镜像之后安装软件,再提交镜像。1、Dockefile第一种如下,先写Dockerfile,注意文件名(文件名就是Dockerfile,无后缀)。因为网络问题,JDK我是下载好,放置在Linux系统本地的。FROM ubuntu:20.04MAINTAINER yourname your@outlook.comRUN apt-get updateRUN apt.
2021-03-05 19:37:49
197
原创 Kakfa-Manager安装
一、选型kafka集群的监控组件有Monitor、Manager、Eagle、prometheus等,我选择使用Kafka-Manager,主要是自己使用过,功能比较全面。二、SBT安装安装SBT,主要是为了对官方提供的Kafka-Manager进行编译。如下是编译命令。sbt clean distSBT官方下载地址kafka manager下载地址SBT安装步骤三、Kafka-Manager安装...
2021-03-02 16:58:25
73
原创 Kafka集群环境搭建
一、参考kafka集群的安装与启动二、安装主要是对server.properties文件的修改,参考之前的链接就可以装好。这里主要是在kafka日志文件存放的路径的设置,这里的路径规划暂没有做过,不知道什么是最优,日后再补充。...
2021-03-01 15:11:39
71
原创 BigData 组件下载地址记录
scala下载地址https://scala-lang.org/files/archivehttps://scala-lang.org/files/archive/scala-docs-2.13.5.tgzhttps://scala-lang.org/files/archive/scala-2.13.5.tgzhttps://downloads.lightbend.com/scala/2.12.13/scala-2.12.13.tgzspark下载地址http://archive.apac
2021-02-28 20:59:03
247
原创 Zookeeper集群环境搭建
一、下载Zookeeper下载地址,如下图,要下载apache-zookeeper-3.6.2-bin.tar.gz。否则后期启动会失败。二、解压需要注意zookeeper安装的目录,我是放在/usr/local/zookeeper/目录下。用如下的解压命令进行解压,注意解压后的目录层次。sudo tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /usr/local/zookeeper三、配置1、zoo.cfg首先是zoo.cf.
2021-02-28 20:20:01
124
原创 Hadoop集群环境搭建-集群搭建
一、Hadoop下载hadoop官网下载地址命令行下载具体的hadoop版本wget https://archive.apache.org/dist/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz二、Hadoop安装1、解压在安装前规划好安装目录,建议安装在 /usr/loacl/hadoop/解压Hadoop安装包sudo tar -zxvf hadoop-2.9.2.tar.gzsudo mv hadoop-2.9.2/
2021-02-27 21:03:12
185
原创 Hadoop集群环境搭建-系统搭建
系统提供的几种JDK包sudo apt install openjdk-11-jre-headless # version 11.0.10+9-0ubuntu1~20.04, orsudo apt install default-jre # version 2:1.11-72sudo apt install openjdk-8-jre-headless # version 8u282-b08-0ubuntu1~20.04sudo apt install openjd...
2021-02-25 16:23:50
100
原创 IDEA Maven cannot access环境配置
参考:真正解决Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true进入carcerts所在文件目录 执行命令keytool -import -alias cacerts -keystore cacerts -...
2021-02-21 12:31:44
1184
1
原创 NGINX Windows环境安装
一、下载官网地址:http://nginx.org/en/download.html二、安装1、将下载的压缩包放至想要安装的目录在此处主要是需要前期要规划自己电脑的软件安装,别后期系统越来越乱,管理也不好管理,安装没什么难度。E:\nginx\nginx-1.18.0,我选择规划一个盘,专门安装大数据相关的组件。2、解压安装三、测试浏览器访问Localhost即可四、学习可以查看Nginx的一些配置文件,开始阅读源码,也可以做一些架构性的测试。...
2021-02-19 13:40:16
122
1
原创 Redis学习大纲
一、数据结构Redis提供了丰富的数据结构供使用。主要有以下几种数据结构:String:最普通和常用的一种结构,key/value。Hash:类似于HashMap,底层也是哈希表。List:类似于LinkedList,底层是双向链表。Set:类似于HashSet,于HashSet的特性一样,不允许重复数据,不记录元素添加顺序。SortSet:会自动的进行排序的set。Streams(流):18年刚刚发布的一个新的数据结构,不是太了解,相关资料比较少。二、应用场景(一)并发
2021-02-16 19:53:59
181
原创 论Kafka的整体流程
首先需要明确Kafka中Producer到Consumer的各个环节。Producer先通过网络发送到Broker,Broker会落入磁盘,Broker再通过网络发送到Consumer。先看第一个环节Producer到Broker,Producer生产数据时,可以选择单条发给Broker,也可以通过批处理提升速度。在这个环节也可以利用数据压缩功能。在新的版本中引入了EOS,可以逐步处理事务,在此环节引入事务协调者,归Zookeeper管理。第二个环节Broker的落盘,Producer发送到Brok
2021-02-12 20:51:07
159
原创 软件开发如何学习
在刚从业的前期,应该如何学习呢?我认为前期是一个快速扩展自身广度的阶段,可以在工作中充分的利用时间学习,接触到的新技术以及新术语,一定要扩展,去了解,不需要懂得很深,但一定要知道大概的概念,会形成自己的知识体系搭建好良好的基础架构。在从业五年后,应该如何学习呢?后期在选择自己的本命组件时,刚开始一定不要陷入细节,如果陷入细节,即时短期学会了,理解了,过段时间也就忘了,一定要了解大的结构或者数据流程,在脑海中有了大体框架后,再去逐步了解各个细节。要接触学习一些思想,例如第一性原理、能力模型、笔
2021-02-12 20:30:41
456
4
原创 开发人员在不同阶段所要达到的程度
从业第一年:慢慢接触新的概念,慢慢了解行业的一些术语,懂得一些架构的概念。从业第二年:逐渐适应开发不同的需求,学会复制粘贴,学会看API。从业第三年:逐步学会解决问题,开始相信源码也可能会有错。从业第四年:已经不惧问题,相信问题都是可以解决的,也可以理性分析的,定位都有一定的套路。从业第五年:慢慢理解设计模式,在写代码中逐渐使用设计模式,在写代码时也会关注底层JVM以及IO、内存等等。从业第六年:熟悉多线程、高并发思维,有一定的架构师思维,可以做单体业务的架构设计。从业第七年:要深化
2021-02-12 19:57:30
246
5
原创 浅谈数据缓存
什么数据需要缓存 热点数据、不易修改数据。建议缓存失效时间至多设置为7天。超过7天,再重新生成热点数据。 三级缓存三级缓存分为堆内存、堆外存、硬盘。什么样的数据适合放在一级缓存?数据量小的热点数据。 什么样的数据适合放在二级缓存?很少被修改的数据; 不是很重要的数据,允许出现偶尔并发的数据; 不会被并发访问的数据; 参考数据。 什么样的数据适合放在三级缓存?数据量大,且访问频率低的数据。 缓存使用会遇到什么问题?缓存并发问题,导致数据错误;缓存命中率低的问题...
2020-12-26 17:38:10
427
原创 Class文件解析
如图是编译后的Class文件,其中有代表文件类型的魔数、次版本号、主版本号、常量池、访问标志、索引集合、字段表集合、方法表集合、属性表集合。
2020-07-31 16:12:17
123
原创 什么是好代码
个人觉得好的代码应该具有如下几个特征:明确性,代码功能需要单一明确。 可读性,代码不是写给自己一个人看的。 简洁性,代码需要简洁,减少不必要的冗余,冗余的代码实际也是另一种变相的消耗性能。 效率性,使代码运行速度快。 维护性,容易修改升级。...
2020-07-14 11:17:10
137
原创 自定义实现微服务限流
在高并发场景下,保障服务稳定的三把利器分别是缓存、降级、限流。本篇文章讲讲如何实现微服务的限流。一、服务为什么需要限流像遇到以下情况,如果服务没有做限流的话,服务根本扛不住并发压力,一旦造成服务崩溃,后果无法承担。用户增长快 热点事件爆发(微博) 爬虫 刷单二、常见的限流算法(一)计数器算法(二)漏桶算法(三)令牌桶算法...
2020-07-13 12:37:38
177
原创 学会去写好代码
一、为什么需要写好代码(一)维护成本(二)扩展新需求(三)定位问题二、什么是好代码(一)易维护(二)易扩展(三)问题少(四)占用资源少(五)安全三、怎样写好代码(一)减少硬编码(二)利用好设计模式,让代码具有良好的扩展性(三)利用好代码检查工具,PMD、Findbugs、checkstyle、sourcemoniter、codeDex、圈深度等...
2020-07-09 14:27:42
411
原创 设计模式-Java-工厂模式
why?what?how?一、应用场景当需要创建的对象是一系列相互关联或相互依赖的产品族时,便可以使用抽象工厂模式。说的更明白一点,就是一个继承体系中,如果存在着多个等级结构(即存在着多个抽象类),并且分属各个等级结构中的实现类之间存在着一定的关联或者约束,就可以使用抽象工厂模式。假如各个等级结构中的实现类之间不存在关联或约束,则使用多个独立的工厂来对产品进行创建,则更合适一点。二、什么是定义一个创建对象的接口,让子类决定实例化哪个类,而对象的创建统一交由工厂去生产,有良好的封装性,既做到了
2020-07-04 20:51:17
107
原创 设计模式-Java-单例模式
一、应用场景一般会在以下两种情况下采用单例模式:资源共享的情况下,避免由于资源操作时导致的性能或损耗等。 控制资源的情况下,方便资源之间的互相通信。场景举例:为了方便线程池对池中的线程进行管理,一般线程池也会采用单例模式。 操作系统的文件系统,也是大的单例模式实现的具体例子,一个操作系统只能有一个文件系统。 外部资源:每台计算机有若干个打印机,但只能有一个PrinterSpooler,以避免两个打印作业同时输出到打印机。内部资源:大多数软件都有一个(或多个)属性文件存放系统配置,这样的.
2020-07-03 18:59:21
89
原创 Java的数据结构
谈Java数据结构之前先聊聊C的数据结构常见的数据结构有线性表、链表、队列、堆栈、树、图等像压缩可以选择用树像数据库索引可以选择用B+树Java代码实例Stack的代码package com.fuping.liuqu.demo.test;import java.util.Stack;public class DataStructureDemo { public static void main(String[] args) { Stack<St
2020-06-30 22:10:31
145
原创 如何巧用自定义注解
一、为什么需要自定义注解Spring或者Dropwized框架提供了很多内部定义好的注解,可以实现各种各样的功能,但框架提供的注解,并不能满足我们所有的业务场景,有些场景需要我们根据业务自定义更方便业务的注解。二、什么自定义注解package com.fuping.liuqu.demo.annotation;import java.lang.annotation.*;@Documented@Target(ElementType.METHOD)@Retention(Retentio.
2020-06-29 21:56:28
152
原创 Java服务相关内存问题
一、堆内存随意创建内存缓存,服务总体堆内存占用很难估量 内存缓存的维护,需要有删除机制,否则很容易导致内存溢出 内存缓存创建时,注意存的对象的大小,例如缓存大的数组或者大的字符串,很容易导致full gc或者永久代空间不足二、堆外存在缓存分层时,配置不合理,例如使用Ehcache时,堆内、堆外不合理在服务启动时禁止system.gc,但是在代码中大量使用类似ByteBuffer.allocateDirect()的代码,直接在堆外存储中创建对象,导致缓存无法释放三、年轻代需要根据业务调
2020-06-27 21:30:17
100
原创 Redis实现分布式锁
一、应用背景基于PaaS平台的系统管理服务,需要为服务使用创建租间,但是系统管理服务有多个Pod,每个Pod都去初始化租间,会存在并发问题,导致租间创建问题。二、利用Redis分布式锁利用setnx("lock")实现分布式锁,解决并发问题,但是这样做的话,如果在设置Key之后,服务挂了,会导致key值始终存在,无法再次进行初始化操作。解决方法是为key值设置一个过期时间;如果设置过期时间,但初始化操作异常耗时,导致未正常响应就导致key值过期,也会影响到服务的正常初始化。怎么解决这个问题呢
2020-06-27 11:21:01
116
原创 浅谈代码如何进行分层设计
一、分层的目标1、各分层代码边界清晰;2、后期各层之间需要更好的维护扩展。二、传统的分层MVC分层三、业务自定义分层1、业务层次分层各数据对象的分层设计2、设计结构分层 关于缓存使用的分层 关于枚举类的分层 四、分层的禁忌跨层调用 分层边界...
2020-06-26 14:25:58
1080
原创 StringBuffer和StringBuilder源码解读
StringBuffer和StringBuilder的UML图如下StringBuffer和StringBuilder的区别1、线程安全2、缓冲区3、性能StringBuffer和StringBuilder均是继承自AbstractStringBuildercapacity和length的区别扩容机制capacity*2+2
2020-06-22 19:05:01
131
原创 Java-类加载机制
JDK提供了三层类加载器:引导类加载器、扩展类加载器、应用类加载器,用户可根据需要自定义类加载器。一、双亲委派机制当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。如果引导类加载器(BootstrapClassLoader)未加载到,再由扩展类加载器(ExtClassLoader)加载,而扩展类加载器如果未加载到,再交由应用加载器(AppClassLoader)加载。BootstrapClassL
2020-06-21 22:24:48
378
原创 JVM知识体系
一、JVM内存结构JVM由Java堆、方法区、Java虚拟机栈、本地方法栈、程序计数器五部分组成,Java堆由TLAB(Thread Local Allocate Buffer)、Eden、Survivor、Old Generation、Perm Generation几部分组成。二、Garbage Collection算法Young Generation采用的是Copying、Generational Collection(分代收集)算法算法Old Generation常规采用Mark.
2020-06-21 19:48:06
137
原创 Java线程感想
一、线程的创建创建线程目前有以下四种方式:继承Thread类package com.fuping.liuqu.demo.thread;public class CustomizeThread extends Thread{ @Override public synchronized void start() { super.start(); } @Override public void run() { super.
2020-06-20 14:50:35
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人