自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FFMPEG+mp3+mp4转换

一、安装mp3插件和mp4插件,无优先顺序。lame--libmp3lame的安装包,支持MP3编码;yasm--NASM的重写,用于编译ffmpeg1、安装mp3插件lame:LAME (Lame Aint an MP3 Encoder) - Browse /lame at SourceForge.nettar -zxf lame-3.100.tar.gzcd lame-3.100./configuremakemake installyasm:http://www.linuxfr

2022-01-14 23:25:41 829

原创 Dubbo + Sleuth + Zipkin 链路追踪

一、简介1、默认情况下,Spring Cloud Sleuth支持服务之间http请求的traceId的传递。如最为常见的Feign和RestTemplate等。不支持服务在dubbo调用之间传递,所以我们要扩展dubbo的Filter。2、使用brave-instrumentation-dubbo-rpc组件来扩展dubbo的Fiter。二、Zipkin安装1、下载:zipkin-server-2.12.9-exec.jar2、启动:start.sh,访问地址:http://local

2021-10-26 00:17:57 859

原创 Sentinel @SentinelResource注解非接口方法限流和降级

一、Controller@RestController@RequestMapping("/test/")public class TestController { @Autowired private TestService testService; @RequestMapping("test") public String test() { String str = testService.findByName("test");

2021-09-05 00:10:12 510

原创 Sentinel 使用Nacos存储规则

一、pom<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency> <groupId>com.alibaba.csp</groupId> &lt

2021-09-01 23:42:25 671

原创 Sentinel 限流

一、安装客户端:1.6.0版本1、下载地址 sentinel-dashboard-1.6.0.jar2、 启动java -Dserver.port=8888 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=123456 -Dserver.servlet.session.timeout=7200 -jar sentinel-dashboard-1.6.0.jar-Dsentinel.

2021-08-31 23:35:04 278

原创 Nacos 多环境配置

目录结构一、pom中添加包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0..

2021-08-22 22:44:34 1358

原创 Docker - Kubernetes

一、安装docker:二、安装docker私服# 拉取镜像docker pull registry# 运行registrydocker run -d -p 5000:5000 -v /Users/chenfenli/Bin/kubernetes/docker-registry:/var/lib/registry registry# 查看容器MacBook-Air:kubernetes chenfenli$ docker psCONTAINER ID IMAG...

2021-07-12 23:39:17 507 2

原创 Kubernetes-4: 共享持久化存储 PV、PVC

一、PV1、编写yml:k8s_nfs_pv_data.ymlapiVersion: v1kind: PersistentVolumemetadata: name: pv0001 labels: type: nfs001spec: capacity: storage: 128Mi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Recycle nfs: path:

2021-07-05 23:18:20 188

原创 Kubernetes-3: 负载均衡 SVC

1、查看selector的app为:nginx1MacBook-Air:test chenfenli$ kubectl get deployment -o wideNAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTORnginx-dm-1 3/3 3 3 6h8m nginx test/nginx:v2

2021-07-04 21:03:11 217

原创 Kubernetes-2: 滚动升级及回滚 Deployment

一、滚动更新1、编写yml:k8s_nginx_deployment_1.ymlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-dm-1spec: replicas: 3 selector: matchLabels: app: nginx1 template: metadata: labels: app: nginx1 spec: c.

2021-07-04 15:11:29 196

原创 Kubernetes-1: 手动创建pod

一、手动创建pod1、docker 搜索nginx、拉取nginx镜像、制作tag// 搜索镜像docker search nginx// 拉取镜像docker pull nginx// 用nginx(4f380adfc10f)镜像制作tagdocker docker tag 4f380adfc10f test/nginx:v12、编写ymlapiVersion: v1kind: Podmetadata: name: nginx labels: name:

2021-07-04 13:26:22 198

原创 SpringCloud Alibaba + Dubbo 常见设置

一、自定义异常:dubbo在抛出非Exception异常时会进行一次封装,所在在跨服务调用时,账户服务如果抛出自定义异常,订单服务无法直接获取到账户服务抛出的自定义异常信息。所以可以在被调用服务的接口声明自定义异常,dubbo则不会对异常进行封装如:public interface AccountService { public void insert(Account account) throws APIException; /** * 扣减余额 * @par

2021-03-19 10:04:39 303

原创 SpringCloud Alibaba + Dubbo + Nacos + Seata - 案例代码

一、pom1、父工程pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.

2021-03-15 00:21:47 171

原创 SpringCloud Alibaba + Dubbo + Nacos + Seata - 环境部署

一、版本SpringBoot(2.1.6.RELEASE),SpringCloud(Greenwich.SR2),SpringCloudAlibaba(2.1.3.RELEASE),Nacos(1.2.1),Seata(1.2.0)二、环境搭建1、nacos安装下载解压安装:https://github.com/alibaba/nacos/releases运行:./bin/startup.sh -m standalone &访问:http://localhost:8848/n

2021-03-15 00:05:47 485

原创 elasticsearch 结合 mybatis 动态拼接dsl

一、简单结构,没有业务层二、pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://

2020-12-05 10:23:20 1129 1

原创 mongodb查询导出

一、准备导出文件: mongo_export.jsvar c = db.user_map.find({},{"name":1}).limit(100000)while(c.hasNext()) { printjsononeline(c.next());}二、执行导出/opt/mongodb-linux-x86_64-3.2.10/bin/mongo 127.0.0.1:31000/user_data ./mongo_export.js >> ./user.tx

2020-11-27 16:11:41 280

原创 Spark-SparkStreaming+Kafka+Redis 手动管理offsets

SparkStreamingTestimport org.apache.kafka.common.TopicPartitionimport org.apache.spark.sql.SparkSessionimport org.apache.spark.streaming.{Durations, StreamingContext}import scala.collection.mutableimport com.jzh.util.RedisUtilimport org.apache.kafk

2020-08-24 00:30:24 316

原创 Spark On HBase

POM<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <spark.

2020-08-23 16:31:22 300

原创 Spark 批量写入 HBase

import com.alibaba.fastjson.JSONObjectimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.hbase.client.{Put, Result}import org.apache.hadoop.hbase.io.ImmutableBytesWritableimport org.apache.hadoop.hbase.util.Bytesimport org.apache.had.

2020-08-23 11:32:17 810

原创 Hadoop-mongodb 使用

一、概述使用hadoop-mongodb进行hdfs和mongodb之间的数据转换存储<dependency> <groupId>org.mongodb.mongo-hadoop</groupId> <artifactId>mongo-hadoop-core</artifactId> <version...

2020-01-06 11:35:30 437

原创 常用Shell

一、拷贝文件到其它机器,自动输入密码(需安装expect模块)1、scp_hosts.sh#!/bin/bashscpTo() { ./scp_hosts.exp $1}scpTo 192.168.30.164scpTo 192.168.30.165scpTo 192.168.30.1662、scp_hosts.exp#!/usr/bin/expe...

2019-12-31 10:15:25 174

原创 模拟生成手机号

public static void main(String[] args) { for(int j = 0; j <= 99999999; j++) { String phone = getHourFreq(j+""); if(j % 10000 == 0) { System.out.println(186+phone); } }}public stati...

2019-12-24 11:33:29 1228

原创 MapReduce自定义Partitioner、排序、GroupingComparator实现 同一订单中金额最大的商品

一、概述自定义Bean、Partitioner、排序、GroupingComparator实现 同一订单中金额最大的商品,减少数据流。 自定义Bean:将订单id和商品金额作为bean的属性,并将bean作为key,利用Partitioner、排序、GroupingComparator。 自定义Partitioner:将同一订单号的数据划分到同一分区,因为分区采用的是对reduce个数的取...

2019-12-17 16:59:14 287

原创 查找共同好友

一、概述查找共同好友如:A有好友B,C,D,E,O B有好友A,C,E,K C有好友F,A,D,I ......A:B,C,D,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J思路:1...

2019-12-14 21:51:17 496

原创 Java 删除注释和空行

一、样例文件public class DeleteNoteTestFile { /** * 测试1 */ public void test() { //测试0 // 测试1 int i = 0; // 证的 String provinceId = "1156220000"; // 跑数据的省 String url = "http:/...

2019-11-22 10:25:30 659

原创 程序执行流程(一):提交Job到Yarn集群或本地过程

1、获取配置文件,并创建job,提交到集群如:Configuration conf = getConf();conf.set("fs.defaultFS", "hdfs://192.168.30.150:8020");String jobName = getClass().getSimpleName();Job job = Job.getInstance(conf, jobName...

2019-11-03 21:41:25 515

原创 高并发编程:17、读写模式读写分离锁

一、概述当一个值在多线程下,既有读操作又有些操作,我们可以在读和写的时候添加锁,来保证线程安全, 但有很多种情况是,读多写少,这种时候再读的时候也加上锁,读的操作也串行化了,严重影响程序性能。 所以有了读、写分离锁,多个线程同时读,没有写的时候的时候并行化,其它情况串行化。 读 写 读 并行 串行 写 串行 串行二、代码1、自定义读写锁 /*...

2019-09-29 10:03:50 266

原创 K条单向链表合并

一、概述K条有序链表合并,按顺序合并链表如: 链表A:1-3-5 链表B:2-4 链表C:3-6-7 链表D:7-8-9 链表E:10-11 合并结果:1-2-3-4-5-6-7-8-9二、代码构建A、B、C、D、E 5条链表。 public static void main(String[] args) { // 构造链表A Lin...

2019-09-25 23:44:32 297

原创 高并发编程:16、观察者模式监控线程状态

一、概述观察者模式监控线程状态二、代码Clientpublic class Client { public static void main(String[] args) { ThreadLifeCycleObserver observer = new ThreadLifeCycleObserver(); observer.query(Arrays.asList("线程1...

2019-09-18 17:20:57 269

原创 高并发编程:15、缓存一致性,volatile关键字(二)

一、概述能保证修饰变量的可见性、有序性,但不能保证原子性。二、分析1、不能保证原子性public class Thread17 { private static volatile Integer INIT_VALUE = 0; private static Integer MAX_LIMIT = 500; public static void main(String[]...

2019-09-16 10:51:02 175

原创 高并发编程:15、缓存一致性,volatile关键字(一)

一、概述cpu缓存一致性。 java线程缓存一致性。 volatile关键字:可见性。二、缓存一致性1、先看一段代码public class Thread17 { private static Integer INIT_VALUE = 0; private static Integer MAX_LIMIT = 50000; public static void ma...

2019-09-15 23:33:11 232

原创 单向链表合并

一、概述合并两个单向有序链表如: 链表A:1-3-5 链表B:2-4 合并结果:1-2-3-4-5 什么是单向链表:https://blog.youkuaiyun.com/oJueQiang123456/article/details/86384046二、代码public class Link { public static void main(String[] args) { //...

2019-09-12 16:23:20 358

原创 高并发编程:14、线程的waitSet

public class Thread16 { private static final Object LOCK = new Object(); public static void main(String[] args) { for(int i = 0; i < 10; i++) { new Thread("thread"+i) { @Override ...

2019-09-08 22:19:36 207

原创 原 高并发编程:13、多线程下的单例模式

一、概述多线程下的单例模式。 推荐使用第6或第7种模式。二、代码1、饿汉模式public class SingletonObject1 { private static final SingletonObject1 singletonObject1 = new SingletonObject1(); private SingletonObject1() { } ...

2019-09-08 21:52:37 170

原创 高并发编程:12、简易版线程池

一、概述支持最小线程数,预估线程数,最大线程数 支持最大任务数量 支持关闭线程池二、代码public class Thread15 { public static void main(String[] args) { SimpleThreadPool threadPool = new SimpleThreadPool(); for(int i = 0; i < 16...

2019-08-27 11:51:36 157

原创 CHD+CM-2 常见问题

1、spark和hbase交互找不到org.apache.htrace包:Caused by: java.lang.ClassNotFoundException: org.apache.htrace.Tracejava.lang.reflect.InvocationTargetExceptionCaused by: java.lang.NoClassDefFoundError: org/...

2019-08-20 18:41:18 721

原创 高并发编程:11、程序添加钩子、捕捉线程中抛出的异常、打印调用关系

一、概述添加钩子addShutdownHook: 程序结束时会执行钩子程序里面的代码,命中行中kill程序也会执行,但kill -9 钩子程序不会执行 捕捉线程中抛出的异常 打印调用关系二、代码public class Thread14 { public static void main(String[] args) { // 钩子程序 Runtime.getRuntim...

2019-08-17 19:26:10 196

原创 高并发编程:10、自定义锁,实现synchronized的设置超时

一、概述当有10个线程在调用一个被synchronized的方法时,只有当前拿到锁的线程执行完之后,其它9个线程才能有一个线程抢到锁。反复如此,如果方法固定调用时长为10秒,执行完成之后就是100秒。 所以当我们调用这个方法的时候想要设置一个超时时间,超过之间就放弃调用。二、代码public class Thread13 { public static void main(St...

2019-08-14 15:38:01 3258

原创 高并发编程:9、wait、notify、notifyAll(三 完整的消费者、生产者)

一、概述上一篇文章介绍到多个生产者和多个消费者时,会使生产者和消费者都处于wait等待状态,处于假死状态。 所以用notifyAll替换notify,唤醒所有处于等待中的线程。二、代码public class Thread12 { private Integer index = 0; private volatile boolean isProducer = fa...

2019-08-01 23:14:02 154

原创 高并发编程:9、wait、notify、notifyAll(二 程序假死的原因分析)

一、概述多个生产者和多个消费者同时存在时导致出现程序假死的原因分析。二、代码public class Thread11 { private Integer index = 0; private volatile boolean isProducer = false; private Object LOCK = new Object(); public...

2019-07-25 23:03:51 412

空空如也

空空如也

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

TA关注的人

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