- 博客(51)
- 收藏
- 关注
原创 zookeeper
参考:https://blog.51cto.com/u_15127589/4294099参考:https://zookeeper.apache.org/参考:https://blog.csdn.net/q54244125/article/details/103036063
2022-08-30 00:09:01 390
原创 四 Hadoop Mapreduce
基础知识map:以一条记录为单位做映射reduce:以一组记录为单位做计算split: 控制并行度,对应一个map数量的对应关系block > split1:1N:11:Nsplit > map1:1map > reduceN:1N:N1:11:Ngroup(key)>partition1:1N:1N:N1:N...
2022-03-21 00:22:50 54
原创 三 HDFS-HA 基础知识
问题单点故障的应对方案: 1.ha 2.多个NN,主备切换压力过大,内存受限: 1.联邦机制:Federation(元数据分片) 2.多个NN,管理不同的元数据Hadoop 2.x 只支持一主一备,3.x 才支持多备Paxos 算法1. 基于消息传递的一致性算法2. 该算法覆盖全部场景的一致性3. 过半通过可以中和一致性和可用性HA 方案架构图HA方案:多台NN主备模式,Active和Standby状态 Active对外提供服务增加journalnode角色(>3
2022-03-19 03:36:13 752 1
原创 springboot的ldapTemplate访问openldap完整demo
集成中遇到的难题1.网上关于openldap基础知识和概念的文章还是很多的,有的也写的非常好.但是认识一个事物的顺序应该是从具体到抽象,所有网上的大部分关于基础知识和概念的文章我看得都是云里雾里2.springboot 集成spring-boot-starter-data-ldap后,用LdapTemplate 访问ldap确实也很简单,但是一般的文章也只有代码,并没有说明怎么搭建openldap服务(公司产品以前没有用到过ldap,所有我需要搭建ldap服务器)3.ldap的产品很多,一般市面上用的
2022-03-14 18:58:00 2184
原创 一, 上手Spark-Scala 基础语法
#基础环境jdk1.8scala 2.11.12流程控制package com.ww.syntax/** * 流程控制 */object syntax01_if_for_while { def main(args: Array[String]): Unit = { // if var a = 2 if(a>0){ print(s"a>0 : ${a}") }else{ print(s"a<=0 : ${a}
2022-03-14 16:43:42 2013
原创 二 搭建Hadoop 集群环境
基础设施centos 7关闭防火墙#查看防火墙状态sudo firewall-cmd --state#停止firewallsudo systemctl stop firewalld.service#禁止firewall开机启动sudo systemctl disable firewalld.service 关闭selinux#查看selinux 的状态sudo getenforcesudo vi /etc/selinux/config#永久关闭,需要重启vi /etc/seli
2022-03-14 01:29:34 2984
原创 一 HDFS基础知识
存储模型文件线性桉字节切割成块(block),具有offset,id文件和文件的block大小可以不一样一个文件除最有一个block,其他block大小一致block的大小依据硬件的I/O特性调整block被分散存放在集群的节点中,具有locationblock具有副本(replication),没有主从概念,副本不能出现在同一个节点副本是满足可靠性和性能的关键文件上传可以指定block大小和副本数,上传后只能修改副本数一次写入多次读取,不支持修改支持追加数据架构设计HDFS是
2022-03-12 23:12:09 1542
原创 源码复习资料
HashMap当桶上的节点大于8且size>64 时转成红黑树,小于6是转成链表threshold 开始扩容new HashMap() 时 并没有初始化Node 数组,在添加第一个元素的时候才添加数组数组的容量总是2的n此幂,是为了扩容时高效计算新的index如下代码 static final int hash(Object key) { int h; //是为了在数组容量小的情况下,高位也参与到index的运算 return (
2022-01-11 23:26:49 125
原创 日常常用命令
#kill 掉 ngin 进程taskkill /im nginx.exe -f# 查询占用8888端口的进程 netstat -aon|findstr "8888"#根据应用名称查询 进程tasklist | findstr "nginx.exe"
2021-12-31 12:29:54 1317
原创 springcloud 集成seata1.4.2
前言官网上的demo中的seata版本都不是最新的,写得好的博客中的版本也不是最新的,大多是1.0.0或者是1.1.0版本的,新的版本集成起来确实更加便捷,但是由于没有现成的demo,所以还是费了不少劲.由于官方没有版本的demo,所以就只有通读官方官方文档,找版本的更新日志和说明,慢慢尝试集成.难点关于事务分组的理解:其实我开始比较疑惑,其实就是一个资源的逻辑分组,当一个组的TC失效后,可以马上切换到另外的分组新版本集成官网说明.seata-spring-boot-starter:支持y
2021-09-14 20:40:28 1046 1
原创 bat 实现打包自动化(一键打包) npm版
前言前端每次打包需要npm run build ,build后会生成一个dist文件夹,是编译后的内容,然后把dist文件夹上传到服务器,最后覆盖服务器上nginx下对应目录,这个过程起码要5分钟以上.利人利己,想帮他们写一个.bat,双击此.bat文件,自动化做发布的过程参考博客及相关链接脚本1.文件名为 aftersales-dev-1.bat@echo offecho 开始打包...::npm 打包npm run build:trial :: 用haozip 压缩dist文件夹&a
2021-09-13 20:30:28 1676
原创 看HashMap源码
前言字段private static final long serialVersionUID = 362498820763181265L; /** * The default initial capacity - MUST be a power of two. * 初始化容量,也就是HashTable的初始化容量,容量为16,必须为2的倍数 */ static final int DEFAULT_INITIAL_CAPACITY = 1 <
2021-05-09 12:02:12 72
原创 jvm工具上手
前言Google了半天发现其实最好的方法是查看帮助信息输入命名 jmap -h 就有如下因为英文说明Usage: # 我到现在为止也只用过这个 jmap [option] <pid> (to connect to running process) #连接到正在执行的进程 jmap [option] <executable <core> (to connect to a core file) #不知道怎么用 jma
2021-01-23 00:51:29 160 2
原创 番茄工作法 notes
#你不快乐## 前言内7容感觉比较多,记下来,以免漏掉什么笔记番茄工作法分为5个阶段1)规划2)跟踪3)记录4)处理5)可视化一个番茄时间不能被分隔杜绝"几分钟就好了",为的是后面好统计数据休息期间不宜做复杂的工作,复杂的工作会破坏大脑的整合过程,影响下一个番茄时间四个番茄时间为一组如果任务完成了,但是番茄时间没结束,这个时候可以做做复习,做个小小的改进,知道番茄定时器响起如果在5分钟就完成了任务.有没必要做复习或者改进,那就作废这个番茄时间一天结束之际,在"活动清单"上划掉
2020-12-28 00:23:04 142
原创 ibm mq notes
前言中文官方文档IBM MQ 基础知识IBM MQ 基础知识消息、队列,通道,队列管理器 概念IBM MQ 支持以下消息传递模式:点对点消息传递发布/订阅消息传递安装IBM MQ 下载安装接受 IBM MQ 消息传递应用程序编程挑战编程挑战.springboot 集成gitee: https://gitee.com/wangwei1991/ibmmq-try-client.git.jmsTemplate中文官方文档 :http://ifeve.com/spring-5
2020-11-29 22:51:17 114
原创 k8s notes
前言centos7 安装感谢老蔡 https://www.jianshu.com/p/0e1a3412528e?utm_campaign=haruki 让我少走了很多弯路
2020-10-17 00:31:19 82
原创 springwebflux gateway security 认证中心
前言这段时间研究微服务的认证中心,着实费了些功夫,首先要感谢很多博客,帮助到了我很多.以前我写博客主要是为了自己,更像是学习笔记.那么这次想帮助到看我博客的人为啥说废了些功夫呢?基于spring-security-auth2的微服务认证中心,不是网上的样例一大堆吗?难点:网上spring-security的样例大多是基于servlet的,但是我想要和gateway集成到一起,那么就不能基于servlet,而要基于webflux.webflux的底层库是Reactor(响应式编程的一个实现java库),
2020-10-13 16:46:52 1363 5
原创 elk+filebeat notes
前言在网上找到资料是基于6.2.4的版本,所以我也就用6.2.4的版本试一试,反正我的目的只是做一个了解,然后会用就可以了下载官网链接 : https://www.elastic.co/cn/downloads/以elasticsearch为例找到历史版本:下载完过下图中的几个文件并解压就可以了:安装 配置filebeat1.配置 filebeat.yml设置为true ,配置日志文件位置可以用通配符配置输入对象为logstash2. 启动logstash进入到 filebe
2020-10-05 02:11:24 163
原创 actuator notes
简介spring-boot-starter-actuator 是一个监控服务自身信息的模块,提供大量的监控端点,主要作用是监控和管理端点监控分类应用配置类:获得应用程序中加载的应用配置,环境变量,自动化配置报告等与springboot应用密切相关的配置类信息.度量指标类:获取应用程序运行过程中用于监控的度量指标.比如:内存信息,线程池信息,http请求统计等.操作控制类:提供了对应用的关闭等操作类功能.1.x–>2.x 有些变化感谢这个博客: https://blog.csdn.ne
2020-09-23 23:59:20 602
原创 spring gateway notes
谓词(predicate)是一个java8接口,在gateway中的输入类型是ServerWebExchange.这允许匹配http请求中的任何内容,例如header parameter .谓词工厂实现类所在包:org.springframework.cloud.gateway.handler.pridicate1.Pathspring: application: name: mima-cloud-gateway cloud: gateway: routes:
2020-09-21 23:42:58 1773
原创 maven 知识补习
坐标详解<packaging><packaging/>默认值为jar,一般与文件的扩展名一致,但是也不是绝对,比如<packaging>maven-plugin<packaging/> 的文件扩展名为.jarclassifiernexus-indexer-2.2.0-javadoc.jar ,nexus-indexer-2.2.0-sources.jar中的javadoc和sources就是classifier .classifier 能直接指定,而
2020-09-14 22:50:27 101
原创 skywalking 安装 配置 使用
下载安装配置覆盖系统配置:使用-Dskywalking.配置文件中的配置名称=xxx如:-Dskywalking.agent.service_name=your_applicationname探针配置:-javaagent:/path/skywalking-agent.jar=[option1]=[val1],[option2]=[val2]如:-javaagent:/path/skywalking-agent.jar=agent.service_name=your_applica
2020-09-06 00:23:42 1979
原创 nginx 下载安装笔记
一.下载官网下载链接.二.windows1.安装感谢这篇博文 https://www.cnblogs.com/taiyonghai/p/9402734.html.基本上说的非常细致了2.常用命令 1. start nginx 启动nginx 2. tasklist /fi "imagename eq nginx.exe" 查看nginx进程 3. nginx -t -c xxx/conf/nginx.conf 验证配置文件是否配置正确 4. nginx -s stop 快速停止 5.
2020-08-22 00:53:39 79
原创 八 三阶段提交事务
为什么有三阶段提交事务因为2阶段提交存在单点故障,同步阻塞,网络脑裂等问题,所以在两阶段的基础上做了改良,并提出了3阶段提交的概念2阶段提交和3阶段提交的区别3阶段在2阶段的基础上做了2个改进点∶1.增加了起时机制,同时为协授者和参与者都引入题时机制。2.在2阶段的第1和第2中间插入Lee一个提交准备(PreCommitl)阶段。插入的这个阶段能保证最后提交之前,各个节点的状态都是一致的.所谓的三个阶段分别是∶执行,询问,最后真正缓交。第一阶段∶CanCommit第二阶段∶PreCommi
2020-07-28 18:06:47 146
原创 七 两阶段事务的问题
两阶段事务-协调者宕机分析1.如果在第一阶段,协调者宕机,那么所有参与者将无法再收到协调者第二阶段的commit或rollback命令,故会一直阻塞下去,本地事务无法结束解决方案∶所有参与者统一rollback(因为还未进入第二阶段,所有参与者都不会接收到提交或回滚的命令,当前事务是无法继续提交的,故只能回滚。)2.如果在第二阶段,协调者宕机,那么可能部分参与者没有接收到Commit、rollback,那么这部分没有接收到命令的参与者都会一直阻塞下去。两阶段事务-参与者宕机分析1.如果在第一阶
2020-07-28 17:34:25 156
原创 六 两阶段提交事务
什么是两阶段提交?两阶段提交协议,简称2PC,全称是two-phase commit protocol,2PC意思就是1次事务分为2个阶段;是非常经典的强一致性、中心化的原子提交协议中心化是指协议中有2种角色∶一个中心协调者和N个参与者。协调者∶ TM事务管理器,负责协调和管理事务。参与者∶RM资源管理器,可以理解为mysql,或某个微服务(订单服务、库存服务等等)举例∶两阶段提交-应用场景2阶段提交的学习案例,我们采用用户下单使用余额+红包支付来2阶段提交的具体应用。假设用户下单操作来自3个系
2020-07-22 21:58:49 228
原创 五 分布式事务模型DTP
谁提出了分布式事务DTP模型?分布式事务模型DTP(全称为Distributed Transaction Procesing Reference Model)和DTP XA规范(全称为Dstrluted Tanacto Poesng∶The XA Specification)的制定者是X/Open,即现在的open group,是一个全球联盟的独立的组织open group 全球白金会员有8家,我们中国华为公司就赫赫在列。open group 这个全球组织的主要作用是制定各种行业技术标准。open
2020-07-22 16:07:12 700
原创 四 BASE定理
什么是分布式BASE定理?BASE是Basically Available(基本可用)、Soft state(软状态)和Eventuall consistent(最终一致性)三个短语的缩写。BASE理论是由eBay架构师提出的。BASE定理来源∶是CAP中一致性和可用性的权衡结果,它来自于大规模互联网分布式系统的实践总结,是基于CAP定理逐步演化而来的。BASE定理的核心思想∶即使无法做到强一致性,但是每个应用可以根据自身的业务特定,采用合适的方式来达到最终一致性。如何理解BASE定理的基本可用性
2020-07-22 10:44:13 326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人