- 博客(204)
- 资源 (6)
- 收藏
- 关注
原创 docker-compose快速搭建hadoop
1、docker-compose.ymlversion: "3"services: namenode: image: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8 container_name: namenode restart: always ports: - 9870:9870 - 9000:9000 volumes: - ./hadoop/dfs/name:/ha
2022-05-16 10:34:49
1593
1
原创 ELK-定期清除数据
#!/bin/bash # @Author: richard # @Date: 2017-08-11 17:27:49 # @Last Modified by: richard # @Last Modified time: 2017-08-11 18:04:58 #保留近 N 天 KEEP_DAYS=7 # 删除前 N的所有天到 前N+10天==>每天执行 function get_todele...
2021-12-03 09:33:49
3032
原创 sql-查看当前运行的所有事务
SELECT * FROM information_schema.innodb_trx命令是用来查看当前运行的所有事务:在执行结果中可以看到是否有表锁等待或者死锁,如果有死锁发生,可以通过下面的命令来杀掉当前运行的事务:KILL165667; KILL 后面的数字指的是trx_mysql_thread_id值。...
2021-12-01 21:26:19
1977
原创 灰度发布方案
编辑导语:灰度,就是存在于黑与白之间的一个平滑过渡的区域。对于互联网产品来说,上线和未上线就是黑与白之分,而实现未上线功能平稳过渡的一种方式就叫做灰度发布。不少大厂在产品上线前都会进行灰度测试,本文作者为大家总结了大厂常用的几种灰度发布方案。什么是灰度发布?百度百科的解释是这样的:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可
2021-11-24 15:24:06
1407
原创 springboot--多个@ControllerAdvice全局异常处理
背景在springboot多模块中, common模块有全局异常处理, A模块引用了common模块, 且A模块中有自己的全局异常处理, 在有些服务中是A中的全局异常处理生效, 有些服务中是common模块中的全局异常处理生效. 非常疑惑, 了解后写下此篇.简单描述先加载的@ControllerAdvice类里如果存在@ExceptionHandler(xxException.class)是需要捕获的异常或其父类,则将使用先加载的类中的异常处理方式。如果没有,则看后面的@ControllerAd
2021-11-18 20:24:26
4216
原创 k8s集群部署
一 准备机器三台Centos 8.2,至少2核CPU+2G内存+20G硬盘, uname -r >3.1机器名 作用 IP worker01 master 192.168.142.21 worker02 node1 192.168.142.22 worker03 node2 192.168.142.23 worker04 node3 192.168.142.24 worker05 node4 192..
2021-09-10 11:28:48
434
原创 Spring-security oauth2返回统一错误
spring oauth2 oauthServer 在client_id或client_secret不正确时,返回的信息不是我们需要返回的统一的json格式,spring oauth2返回的信息如下:{ "error": "invalid_client", "error_description": "Bad client credentials"}因此,我们需要进行自定义返回格式处理。首先,需要自定义一个CustomClientCredentialsTokenEnd
2021-07-06 09:34:53
2008
原创 Java--log4j日志级别
日志的输出都是分级别的,不同的设置不同的场合打印不同的日志。下面拿最普遍用的Log4j日志框架来做个日志级别的说明,其他大同小异。Log4j的级别类org.apache.log4j.Level里面定义了日志级别,日志输出优先级由高到底分别为以下8种。日志级别 | 描述 ---|--- OFF | 关闭:最高级别,不打印日志。 FATAL | 致命:指明非常严重的可能会导致应用终止执行错误事件。 ERROR | 错误:指明错误事件,但应用可能还能继续运行。 WARN | 警告:指明可能潜在
2021-07-02 17:27:05
410
1
原创 K8s安装Kuboard图形化管理工具
前提安装 Kuboard 时,假设您已经有一个 Kubernetes 集群,以下任何形式安装的集群都可以:kubeadm 安装(或者基于 kubeadm 的衍生工具,如 Sealos 等);二进制安装;阿里云、腾讯云等公有云托管集群;其他。安装kubectl apply -f https://kuboard.cn/install-script/kuboard.yamlkubectl apply -f https://addons.kuboard.cn/metrics-server
2021-06-29 13:49:44
1637
1
原创 k8s安装ingress
版本介绍组件 版本k8s v1.18ingress 0.30.01. 下载两个文件https://github.com/kubernetes/ingress-nginx/blob/nginx-0.30.0/deploy/static/mandatory.yamlhttps://github.com/kubernetes/ingress-nginx/blob/nginx-0.30.0/deploy/baremetal/service-nodeport.yaml2. 在k...
2021-06-29 13:49:31
2482
原创 K8s常见kind
常见kindDeploymentPodService附件,kind 所有类型namespaced=truetest@singlek8s:~$ kubectl api-resources -o wide --namespaced=trueNAME SHORTNAMES APIGROUP NAMESPACED KIND VERBSbindings
2021-06-28 11:05:02
4750
原创 k8s集群外访问集群内部服务的几种方式
前言 目前k8s+docker算是运维必修了,docker能让我们的环境一键迁移,k8s能自动编排,还能保证服务高可用,两者结合自然是无敌,那我们要不要使用k8s呢?这要根据自身情况,任何技术的使用,都需要根据具体情况来定,就像你要杀鸡,却非要选牛刀,牛刀是很锋利,但还不够你折腾的 本文重点介绍k8s集群外如何访问集群内的服务,主要方式有:hostPort或hostNetwork、NodePort、Ingress一、hostPort或hostNetworkhostP...
2021-06-24 10:00:34
6527
1
原创 k8s各端口意义
portport是k8s集群内部访问service的端口,即通过clusterIP: port可以访问到某个servicenodePortnodePort是外部访问k8s集群中service的端口,通过nodeIP: nodePort可以从外部访问到某个service。targetPorttargetPort是pod的端口,从port和nodePort来的流量经过kube-proxy流入到后端pod的targetPort上,最后进入容器。containerPortcont
2021-06-24 09:54:17
2916
1
原创 基于docker安装ES及es-head
version: '3'services: elasticsearch: image: elasticsearch container_name: elasticsearch volumes: - /docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /docker/es/data:/usr/share/elasticsearch/.
2021-06-23 13:54:23
445
原创 基于docker安装seata服务端
1、Server端 新建所需表SQL官方地址:https://github.com/seata/seata/blob/1.2.0/script/server/db/mysql.sql,将此链接内的表存储在mysql中(建议新建数据库)。-- -------------------------------- The script used when storeMode is 'db' ---------------------------------- the table to store Glo
2021-06-22 15:01:48
444
原创 基于docker安装mysql数据库
通过docker-compose快速搭建数据库,并且修改相关字符集为utf8mb4[root@worker1 ~]# cat /docker/mysql/conf/ data/[root@worker1 ~]# cat /docker/mysql/conf/my.conf[mysql]default-character-set = utf8mb4[client]default-character-set = utf8mb4[mysqld]pid-file = /var/run/mysq
2021-06-22 13:44:41
109
原创 基于Docker安装nacos
1、拉取镜像docker pull nacos/nacos-server2、挂载目录mkdir -p /mydata/nacos/logs/ #新建logs目录mkdir -p /mydata/nacos/init.d/ vim /mydata/nacos/init.d/custom.properties #修改配置文件3、mysql新建nacos的数据库,并执行脚本下载地址https://github
2021-06-21 15:28:23
165
1
原创 基于Docker安装zookeeper
ookeeper 有三种:单机版、伪集群、集群。单机版docker-compose.ymlversion: '3.7'services: zoo1: image: zookeeper restart: always hostname: zoo1 ports: - 2181:2181 environment: ZOO_MY_ID: 1
2021-06-21 11:54:50
160
原创 基于Docker安装Redis
docker-redis.yml[root@worker2 docker-yml]# cat redis.ymlversion: '3'services: redis: image: redis container_name: docker_redis volumes: - /docker/redis/data:/data - /docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.con
2021-06-21 11:48:14
172
原创 基于 Docker 安装 RocketMQ
docker-compose.yml注意:启动 RocketMQ Server + Broker + Console 至少需要 2G 内存
2021-06-21 11:32:57
248
原创 docker-compose.yml的使用
#查看帮助docker-compose -h# -f 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定。docker-compose -f docker-compose.yml up -d#启动所有容器,-d 将会在后台启动并运行所有的容器docker-compose up -d#停用移除所有容器以及网络相关docker-compose down#查看服务容器的输出docker-compose logs#列出项目中目前的所有容..
2021-06-21 11:27:10
1869
原创 k8s部署tomcat数据持久化
1、部署nfs服务器yum -y install nfs-utils rpcbind11.2、启动nfs服务systemctl start nfs11.3、检查rpcbindNFS:~ # rpcinfo -p localhost program vers proto port service 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100...
2021-06-16 15:26:48
508
1
原创 K8S 部署 Mysql(NFS 持久化)
Mysql 部署部署 Mysql 的前提是有 K8s 集群,之前有一篇已经详细写过如何测试部署 K8s 集群了,这里就不再多说。NFS 服务创建这里不说了,大家可以自行搜索一下创建 NFS 存储服务,这里依赖的持久化就是 NFS 服务。Mysql PV/PVC 创建Persistent Volume 和 Persistent Volume Claim,主要是管理服务持久化的存储资源 Volume。这里我们先创建 PV,再创建 PVC,将两者绑定。首先是 mysql-pv.yaml
2021-06-16 14:07:19
1313
3
原创 K8s命令创建harbor-Secret
1、创建前先查看secrets 1 2 3 4 5 [root@k8s-master ~]# kubectl get secrets -n test-project NAME TYPE DATA AGE default-token-56q6l kubernetes.io/service-account-token3...
2021-06-15 11:42:20
3415
原创 K8S yaml文件格式
# yaml格式的pod定义文件完整内容:apiVersion: v1 #必选,版本号,例如v1kind: Pod #必选,Podmetadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #必选,Pod所属的命名空间 labels: #自定义标签 - name: string #自定义标签名字 annotations: #自定义注释列.
2021-06-15 09:46:49
117
原创 kubernetes1.20版本启用ipvs模式
在1.19版本之前,kubeadm部署方式启用ipvs模式时,初始化配置文件需要添加以下内容:---apiVersion: kubeproxy.config.k8s.io/v1alpha1kind: KubeProxyConfigurationfeatureGates: SupportIPVSProxyMode: truemode: ipvs本次在1.20.2版本中,使用kubeadm进行集群初始化时,虽然可以正常部署,但是查看pod情况的时候可以看到kube-proxy无...
2021-06-03 15:47:06
1805
原创 2021-05-31
问题情况[root@test-master-113 ~]# kubectl get nodesNAME STATUS AGE VERSIONtest-master-113 Ready,SchedulingDisabled,master 347d v1.7.6test-slave-114 Ready 206d v...
2021-05-31 10:46:33
227
原创 Java--多任务并发:如何判断线程池中的任务都已经执行完毕
前言:多线程并发,我们往往采用线程池来管理并发的线程。但是,我们往往有这样的需要:要求在线程池中的任务都完成后才能执行后续的任务,或者需要任务都完成后释放资源或向数据库写入状态。这些都需要我们判断线程池的任务是否都已经完成。判断线程池中的任务是否全部完成,方式有不少,这里我来整理一下。一、使用线程池的原生函数isTerminated();优点:操作简便;缺点:需要主线程阻塞;executor提供一个原生函数isTerminated()来判断线程池中的任务是否全部完成。全部完成返回tru
2020-12-28 09:08:32
2596
原创 [201908][Spring Security 实战][陈木鑫][编著]
[201908][Spring Security 实战][陈木鑫][编著]http://ebooks.cmanuf.com/https://github.com/blurooo/spring-security-demo第 1 部分第 1 章 初识 Spring Security1.1 Spring Security 简介1.2 创建一个简单的 Spring Security 项目第 2 章 表单认证2.1 默认表单认证2.2 自定义表单登录页第 3 章 认证与授权
2020-12-22 13:25:04
369
原创 Java--HttpRequest对象
概述:1、服务器接收http请求后,会根据报文创建HttpRequest对象2、视图的第一个参数就是HttpRequest对象3、django创建的,之后调用试图时传递给视图属性:1、path:请求的完整路径(不包括域名和段口)2、method:表示请求的方式。常用的有GET、POST3、encoding:表示浏览器提交的数据的编码方式,一般为utf-84、GET:类似字典的对象,包含了get请求的所有参数5、FILES:类似字典的对象,包含了所有上传的文件6、Coo
2020-11-24 15:47:22
941
原创 Java--HTTP Request Header 请求头
Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding: compress, gzip Accept-Language 浏览器可接受的语言 Accept-Language
2020-11-24 15:46:32
1673
原创 Spring--Spring framework 5.0 注解大全
spring-core@NonNullApi:@Nullable:@NonNullFields:@UsesSunMisc:@NonNull:@AliasFor:value attribute annotation@Order:value:@UsesSunHttpServer@UsesJava7@UsesJava8spring-beans@Autowired:required@Required:@Lookup:value@Qualifie
2020-11-04 11:11:38
231
原创 Spring--Security的oauth2四种授权模式使用
oauth2四种使用方式密码模式localhost:8080/oauth/token?client_id=client_id_1&client_secret=123456&grant_type=password&username=admin&password=123456{ access_token: "b909b1e6-bf10-4c13-bef7-bfca64211feb", token_type: "bearer", refresh_token: "5
2020-10-17 21:25:55
817
原创 Spring--spring-oauth-server 数据库表说明
以下对spring-oauth-server项目中的oauth.ddl文件(位于/others/database目录)中的表字及段进行说明, 内容包括字段说明与使用场合表名 字段名 字段说明 oauth_client_details client_id 主键,必须唯一,不能为空. 用于唯一标识每一个客户端(client); 在注册时必须填写(也可由服务端自动生成). 对于不同的grant_type,该字段都是必须的. 在实际应用中的另一个名称叫appKey,与cl
2020-10-16 09:50:48
821
原创 Spring Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单
距离Spring Boot 2.2.0的发布已经有一个半月左右时间,由于与之匹配的Spring Cloud版本一直没有Release,所以在这期间碰到不少读者咨询的问题都是由于Spring Boot和Spring Cloud版本不匹配导致。很多时候,我们在学习或重建系统的时候都喜欢直接选用最高版本来开发,但是在使用Spring全家桶的时候,这样的选择不一定是最佳选择。主要还是由于Spring全家桶中各项目之间还存在一定的依赖关系。尤其是在大版本迭代期间,是我们尤其要注意的。比如,这次Spring Fra
2020-10-11 16:59:01
125
转载 Springboot--ubuntu使用EMQ搭建MQTT服务器
前言寒假的时候开始搭建mqtt服务器,一开始使用的是RabbitMQ,基于Erlang语言.但是RabbitMQ的本职工作是AMQP,MQTT只是他的一个插件功能,似乎有些大材小用,很多MQTT的功能也没有集成.这次我打算使用EMQ来重新部署我的MQTT服务器.EMQ也是基于 Erlang/OTP 语言平台开发.他是支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。支持的输入协议不仅仅是MQTT,还包括WebSocket,以及物联网同样著名的与MQTT基于TCP传输协议不同的基于U.
2020-09-21 16:14:11
236
翻译 SpringBoot--Windows安装EMQ服务器(mqtt)
先去EMQ官网下载安装包https://www.emqx.io/downloads#broker注意:此处一定不能下错成企业版的,不然EMQ会由于缺少企业license无法启动服务解压到任意路径注意:路径不能包含中文或者空格,不然可能会出错然后切换到emqx/bin目录下,shift+右键,打开powershell输入命令./start 启动服务 此外,也可使用./console 启动服务然后等待一段时间后./emqx_ctl status...
2020-09-21 16:10:27
321
翻译 Spring--AOP设计基本原理
0、前言 Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用Spring AOP。读完本文,你将了解到:1. Java程序运行在JVM中的特征2. Java程序的执行流【了解AOP、连接点(Join Point)、切入点(point cut) 的概念 】3. 引入了代理模式的Java程序执行流(AOP实现的机制)4. Sp...
2020-09-07 09:52:28
182
翻译 Mysql--用户权限管理数据库设计(RBAC)
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图) 角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可管理版内的用户等,这些是权限。要给某个用户授予这些权限,不需要直接将权
2020-08-18 10:45:00
4167
原创 前端--servlet 服务器HTTP响应头设置示例(response用法)
servlet 服务器HTTP响应头设置示例(response用法)1,Location用于重定向,和返回状态码302结合使用。代码示例:response.setStatus(302);response.setHeader("location","/day20131128/1.html");这样,当请求服务器的时候可以重定向到这个/day20131128/1.html文件也可以这样:response.sendRedirect("/day20131128/1.html")...
2020-08-12 09:15:00
2544
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人