- 博客(56)
- 资源 (18)
- 收藏
- 关注
原创 基于流计算 Oceanus(Flink) CDC 做好数据集成场景
5: bin/start-cluster.sh启动后测试环境的8081无法访问,需要修改flink-conf.yml的属性rest.bind-address: 0.0.0.0和rest.bind-port: 8081和rest.port: 8081,之后重启就可以访问。2: Oceanus环境运行flink时候会默认使用RocksDB State Backend,不需要再手动配置检查点。由于第一次做实时,所以踩坑比较多,见谅(测试环境用的flink),小公司没有用到hadoop组件。
2023-08-25 15:24:42
1080
原创 算法学习思路
1删除有重复数据的有序数组,给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。如[0,0,1,1,2,3,]===》[0,1,2,3] 思路原地算法:双指针就可以做到2买股票算法(贪心算法) 思路:便利,如果后面的大于前面的就计算差加入结果,依次来就好了给定一个数组 prices ,其中prices[i] 是一支给...
2021-05-01 23:53:09
201
原创 云服务器docker安装hadoop单机并使用外网访问hadoop
本教程仅供本地测试所以省事安装在docker里面一:安装docker内容省略二:docker安装hadoop(需要进行端口映射)==>docker run -i -t -p 50070:50070 -p 9000:9000 -p 8088:8088 -p 8040:8040 -p 8042:8042 -p 49707:49707 -p 50010:50010 -p 50075:50075 -p 50090:50090 --name hp sequenceiq/hadoop-docker:
2021-03-27 16:49:41
3040
原创 mysql分组内排序
表结构按各科成绩进行排序,并显示排名(实现不完全)要求结果如下sql写法 select a.* from (SELECT c_id,s_score,@i:=@i +1 as i保留排名 FROM (select @i:=0)s,Score WHERE c_id='01'ORDER BY s_score desc) a UNION allselect b.* from (SELECT c_id,s_score,@t:=@t +1 as i保留排名 FROM ...
2020-05-18 23:54:28
392
原创 hive分区分桶
分桶指的是分桶表的某一列,让该列按照hash取模的方式随机均匀的分布在各个桶中,因为分桶需要根据某一列具体数据来进行hash取模,因此指定的分桶列必须位于表中的一列,分桶改变了数据的存储方式,他会把hash模相同或者在某一区间的数据放一个桶中,来提高查询效率,比如我们要对2张在同一列的表进行分桶操作的表进行join时候,只需要对保存相同列值的桶进行join操作即可,分桶可以使取样更高效hive分区指单值分区、范围分区,单值分为静态和动态分区2种,单值分区单值分区根据插入时是否需要手动..
2020-05-10 14:08:35
668
原创 Hadoop面试题
1 ======>hadoop 运行原理hadoop基本由hdfs(文件系统),yarn(任务调度)以及mapreduce(编程模型,大数据并行运算)组成hadoop集群其实就是hdfs集群hdfs:文件系统,它不仅是用来做文件存储,还涉及分布式计算等方面,hdfs包含namenode和datanode,namenode是整个文件系统的目录,它存储的是一些文件的详细信息,如大小等...
2020-05-07 22:50:27
431
原创 java访问Hadoop报错集锦
关于java.io.IOException: HADOOP_HOME or hadoop.home.dir areunset.的问题记住需要在bin文件夹加一个文件
2019-12-03 21:28:15
490
转载 基于docker搭建Hadoop集群
准备环节 云服务器一个1下载好docker2docker下载centos镜像(我下载的centos8)docker pull centos3启动容器同时进入启动的容器进行相关操作docker run -it --name centos-1 centos /bin/bash4配置时区(别人配了咱也配一下吧)ln -sf /usr/share/zoneinfo/...
2019-12-02 16:41:54
489
原创 linux配置免密登录
配置ssh免登陆#生成ssh免登陆密钥#进入到我的home目录cd ~/.sshssh-keygen -t rsa (四个回车)执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)将公钥拷贝到要免密登陆的目标机器上ssh-copy-id localhost(此处localhost可以写目标机器的ip或者hostname,当然写hostname得保证可以...
2019-11-16 10:40:17
198
转载 自旋锁的原理及使用
什么是自旋锁是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。它是为实现保护共享资源而提出一种锁机制。其实,自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,...
2019-10-14 16:17:37
4594
1
转载 多线程上下文切换
首先我们需要了解cpu时间片,cpu时间片指的是cpu分配给每个线程的执行时间段,称作他的时间片,cpu的时间片一般是几十毫秒上下文切换概念:cpu通过时间片段的算法来循环执行线程任务,而循环执行即每个线程允许允许运行的时间后的切换,而这种循环的切换是各个程序从表面上看起来是同时进行的。而切换时会保存之前的线程任务状态,当切换到该线程的任务的时候,会重新加载该线程的任务状态,而这个从保存到加载...
2019-10-14 15:55:05
190
转载 线程连接池
第一种:Executors.newCacheThreadPool():可缓存线程池,先查看池中有没有以前建立的线程,如果有,就直接使用。如果没有,就建一个新的线程加入池中,缓存型池子通常用于执行一些生存期很短的异步型任务package testfordemo;import java.util.concurrent.ExecutorService;import java.util.con...
2019-10-14 15:26:56
449
原创 OutOfMemoryError 和 StackOverflowError 错误有什么区别?
OutOfMemoryError内存不足错误和 StackOverflowError堆栈溢出错误如果一个线程方法中不允许有更大的本地方法栈,那么jvm就会抛出stackoverflowerror,如果本地方法栈可以动态的扩展,并且本地方法栈尝试过扩展了,但是没有足够的内存分配给他,再或者没有足够的内存为线程初始化本地方法栈,那么jvm会抛出OutOfMemoryErrorStackOv...
2019-10-13 14:18:48
224
转载 rabbitmq
一:使用rabbitmq好处1解耦(消费者和生产者解耦)2异步,将消息写入消息队列,非必要的业务逻辑以异步方式运行,加快响应速度(比如注册时候发送邮件和短信,因为注册主要逻辑是吧数据存入数据库,而发邮件和短信都是次要的,所以可以通过异步方式加快响应速度)3削峰,并发量大的时候,所有的请求都会塞到数据库,这样有可能会导致数据库连接异常(比如秒杀,一群人进行点击秒杀,如果都塞到数据库就不太...
2019-08-30 17:15:26
185
原创 docker安装mysql
镜像的安装 docker pull mysql/mysql-server启动容器docker run -d -p:3307:3306 --name mysqltest mysql/mysql-server(这里设置了3307指向3306,也就是意味着远程连接端口为3307)执行下面命令查看容器日志,找到MySql的root账户的密码docker logs mysqltest...
2019-08-28 15:26:59
178
原创 centos7安装rabbitmq教程
1在根目录新建文件夹rabbitmq: mkdir rabbitmq2切换到rabbitmq目录,下载erlang和rabbitmq-server的rpm:wgethttp://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpmwgethttp://www.rabbitmq.com/...
2019-08-27 18:01:11
172
原创 redis缓存
缓存穿透缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。代码流程参数传入对象主键ID根据key从缓存中获取对象如果对象不为空,直接返回如果对象为空,进行数据库查询如果从数据库查询出的对象不为空,则放入缓存(设定过期时间...
2019-08-27 17:49:08
133
原创 序列化初步了解(参考别人的这里只是作为笔记)
1实现序列化: ①让类实现Serializable接口,该接口是一个标志性接口,该标注类是可以被序列化的 ②然后让一个输出流来构造一个对象输出流并且通过writeObect(object) 方法就可以将实现对象写出 ③如果需要反序列化,则可以用一个输入流建立对象输入流,然后通过readObject方法从流中读取对象2作用①序列化就是一种用来处理对象流的机制,...
2019-08-27 16:47:19
131
原创 zuul网管配置跨域域名并进行配置
跨域报错信息如下可以加一个如下的配置文件解决(最近在看网上的乐优商场看到的)package com.leyou.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.spr...
2019-08-21 17:31:49
1287
转载 springcloud熔断FeignClient报错连接超时原因
网上查了,大概是时间问题,下面是复制别人的回答Feign接口调用分两层,Ribbon的调用和Hystrix调用,理论上设置Ribbon的时间即可,但是Ribbon的超时时间和Hystrix的超时时间需要结合起来,按照木桶原则最低的就是Feign的超时时间,建议最好配置超时时间一致。经过配置一下application设置后,完美解决了问题。因为第三方接口中需要3~20秒不等的时间,所以这个数值也...
2019-08-08 23:24:37
918
原创 微服务项目
register-with-eureka: false 告诉eureka不要注册自己lease-renewal-interval-in-seconds: 30 每隔30s发起一次心跳lease-expiration-duration-in-seconds: 90 如果90s没有发起心跳那么就代表挂了eviction-interval-timer-in-ms: 60000...
2019-08-08 12:30:03
131
原创 线程
runnable实参类对象不是线程对象,他只不过实现了rrunnable接口而已,只有Thread对象的子类才是线程对象为什么要把runnable实现类的对象作为实参传递给thread对象这是为了把runnable类的run方法作为thread线程类的run方法的任务代码去执行wait与notify用法的注意事项1wait与notify方法是属于obje...
2019-07-23 23:58:50
111
原创 三机房部署和双机房部署
三机房部署在生产环境下,三机房部署是最常见的,容灾性最好的部署方案。集群中的数量为N(不包含observer),三个机房中部署的机器数量分别为N1,N2,N3。N1:N1=(N-1)/2 例如N=15; 则N1=7N2:N2是一个取值范围 1~(N-N1)/2 即N2的取值为1~4N3:N-N1-N2 假设N2=2;则N3=6双机房部署需要...
2019-07-16 15:16:00
1453
原创 zookeeper安装流程
1为虚拟机的centos克隆一个centos系统,然后更改网卡名称还有静态ip等等 链接如下http://baijiahao.baidu.com/s?id=1596897976647529160&wfr=spider&for=pchttps://www.cnblogs.com/116970u/p/10624838.html克隆如图在虚拟机中选择已安装的系统接...
2019-07-15 14:45:23
135
原创 mybatis第五天(源码)
掌握sqlsession执行的源码分析掌握参数设置的源码分析掌握结果集映射的源码分析学会如何设计一个框架学会如何手写mybatis框架.RowBounds.DEFAULT mybatis的逻辑分页,讲数据库中的数据加载到jvm中,进行分页...
2019-07-05 23:54:03
111
原创 mybatis第四天(源码)
cacheRefElement(context.evalNode("cache-ref"));cacheElement(context.evalNode("cache"));这2个和二级缓存有关mybatis从整体横观可以分为配置文件加载和sqlsession的执行配置文件加载:全局和映射文件加载加载全局配置文件--XMLConfigBuilder:用来...
2019-07-05 00:05:33
120
原创 mybatis学习第三天
1 延迟加载:懒加载,减轻数据库压力,发生在关联查询,在mybatis中只有resultMap标签才可以完成懒加载(collection和association)(嵌套查询嵌套结果)2 延迟加载分类:A --直接加载:执行完主加载对象的查询后,马上就会执行关联对象的select查询 B --侵入式延迟:执行对主加载对象进行查询时,不会执行对关联对象的查询,但当...
2019-07-04 18:40:18
188
原创 mybatis采坑日记
mybatis一对多查询,用户对应多个订单,可是查询出来发现用户下的订单只有第一条记录,这是由于用户表的主键和订单表的主键id同名导致的,可以改名或者起别名解决...
2019-07-03 19:00:50
219
原创 基于java+js实现微信支付功能
1业务需求 公司的电商项目最近开展到了支付环节,所以老板给了一个第三方支付文档,让我完成支付功能。2支付文档 先上支付文档url https://open.swiftpass.cn/openapi必填参数:①body商品描述 ②total_fee 消费金额,这里是以分为单位,即数值为1就是1分,且不能有再小的单位,不能写成带小数的数值 ③sub_openid 这个是用户微信...
2019-06-20 16:00:41
1021
原创 发送微信消息安卓正常接收通知,苹果收到空消息问题
1先上图 安卓设备苹果设备2 原因,网上看了,是因为我颜色用的#FFF,这个颜色在安卓是可以正常显示微信消息,苹果却不可以,最后换了#173177蓝色才在苹果手机正常显示。记录下这个坑,防止以后掉坑。...
2019-06-20 15:00:04
1351
原创 centos配置docker 启动spring boot项目
1docker pull centos 下载centos镜像2本地下载jdk和tomcat并解压3新建Dockerfile文件到现在java运行环境就起来了4 把spring boot项目打成war包5本地创建Dockerfile 写好映射现在就部署好了,可以直接运行,访问路径加上即可...
2019-05-23 14:48:48
211
原创 mysql语句
SELECT * FROM `tenants` WHERE LENGTH(TRIM(floor))<1 查找floor这个字段是为空字符串的所以记录SELECT * FROM `tenants` WHERE ISNULL(floor) 查找floor这个字段是为null的记录...
2019-05-22 14:05:05
93
原创 通过java实现微信公众号发送微信消息
(感谢好多老哥提供的文档,哈哈,这里我就只是代码贴出来,方便以后copy)1获取tokenString token = Wechat.getAccess_token(appId, appSecret).getString("access_token"); public static JSONObject getAccess_token(String appId, Str...
2019-05-10 15:07:18
8483
13
原创 mybatis深入学习第二天
mybatis架构接口层;对外提供增删改查接口数据处理层:入参映射(java类型映射成sql需要的jdbc类型,并设置参数),sql解析,执行sql,结果映射基础支承层:连接管理,事务管理,配置加载,缓存处理XMLConfigBuilder这是一个专门用来创建configuration对象的工具类 XMLConfigBuilder调用构造方法实例化congiguartio...
2019-04-18 14:29:36
192
hibernat面试题
2017-09-20
docker学习资料帅帅哒
2018-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人