自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张兆坤

路漫漫其修远兮,吾将上下而求索

  • 博客(147)
  • 收藏
  • 关注

原创 Idea调试热更新那些事

在IntelliJ IDEA中,只有当您手动点击Build -> Recompile '.java'或使用相应的快捷键来编译选定的Java文件时,IDE才会尝试使用HotSwap机制来加载这些新编译的类到正在运行的JVM中。这个过程允许您在调试时即时看到代码更改的效果。自动编译功能虽然也会更新target/classes目录下的类文件,但它不会自动触发HotSwap过程。自动编译主要是为了在开发过程中提供即时的编译错误反馈,而不是为了在运行时更新类定义。因此,如果想要在调试过程中实现代码的热替换(Hot

2024-04-08 17:33:46 384

原创 让ChatGPT来写代码和单元测试用例

写代码的能力上看,文心一言3.5的能力已经很强了,能够和GPT-4各有千秋。我这里只贴出了GPT-4的实现,文心一言3.5的代码实现也是类似的,只是会提示JDK没有实现SHA-3-256,需要引入第三方库。但是生成的单元测试用例明显好于GPT-4,对于边界条件验证的更加充分。足够用了,关键文心一言3.5还免费。

2024-04-01 20:08:05 175

原创 笔记本电脑上部署LLaMA-2中文模型

尝试在macbook上部署LLaMA-2的中文模型的详细过程,体验本地化部署模型的能力。

2024-03-26 21:12:03 1304 1

原创 Java类加载那些事

Java源文件(.java文件)被编译器编译后变为字节码形式的类文件(.class文件),Java类加载的过程就是JVM加载.class的二进制文件并且放到内存中,将数据放到方法区,并且在堆区构造一个java.lang.class对象,并且完成类的初始化的过程。

2023-11-23 23:11:08 493

原创 SpringBoot注解的前世今生

Spring和Spring Boot中的注解让人眼花缭乱,要搞懂SpringBoot的启动过程,不得不先搞清楚常用的注解有哪些,常规用户是怎么样的。Spring Boot的注解水很深,从JDK的注解到Spring框架的注解再到Spring Boot的注解,用法出神入化了。

2023-11-13 09:54:43 179

原创 Springboot自动配置那些事

Spring Boot中默认会扫描的启动类对应的子包下面的类,但是项目引入的其他包下面的类要加入到IOC中必须要有所说明,以下说到的自动配置就是干这个活的,springboot就会把配置中的类加载到ioc容器中。

2023-11-06 18:31:18 167

原创 配置中心那些事

闲着也是闲着,就看看过往是在没有时间来折腾的东西,这不,最近2天看了看配置中心。比较有代表性的有老牌的apollo,新贵 nacos,再就是出身也很好的Spring cloud config,网上比较这3者的文章多余牛毛,我就不凑热闹了。话说apollo的应该是方方面面考虑的最为全面了,但是架构也确实复杂,这里吐槽一下。

2023-10-25 11:52:42 97

原创 seata的TCC模式分析

TCC是 Try- Confirm-Cancel 这3个名词的首字母简称,是一个2阶段提交的变体思路。Try:对资源的检查和预留;Confirm: 确认对预留资源的消耗,执行业务操作;Cancel:预留资源的释放;

2023-10-20 10:16:40 71

原创 seata的AT模式分析

如果回滚的时候,进行数据核验的时候,发现数据被其他应用修改了,该怎么办?at是要保证所有操作数据库的动作都在seata事务的全局事务覆盖下。也就是说,如果你这个库的这个表被其他应用用了,让这个应用也集成seata就行了。

2023-10-19 21:55:44 108

原创 springcloud gateway的意义

springcloud gateway的功能弱爆了,只支持代码和配置文件来配置路由规则,不支持动态配置路由规则(需要自行来实现),实用性不够。类似apisix这些网关随便拿一个出来都可以干爆springcloud gateway,动态定义路由规则配置不需要重启即可生效,打通Eureka服务发现也早就实现。上kubenetes后直接就用service来做服务发现了,别说是gateway了,连Eureka都不需要了。长期看所有的应用上k8s是必然,springcloud gateway必然没落。

2023-09-14 16:25:29 460

原创 Prometheus的4大指标类型

prometheus的指标数据类型有如下4种,都在export提供的/metrics接口的type行有展示:1)counter:计数器;2)gauge:仪表盘;3)histogram:直方图;4)summary:摘要

2023-09-04 15:32:16 445

原创 helm部署zookeeper

采用helm来安装、升级、回滚、卸载zookeeper

2023-08-25 15:52:58 1061

原创 使用StorageClass动态创建pv

rook-ceph安装部署到位后,就可以开始来尝试使用StorageClass来动态创建pv了。有状态的中间件在kubernetes上落地基本上都会用到StorageClass来动态创建pv(对于云上应用没有那么多烦恼,云硬盘很好用,但是对于自己学习和练习来说还是Ceph更加靠谱),这里小试一试动态创建pv的威力,为后续用它来玩转redis、zookeeper、elasticsearch做准备。

2023-08-22 16:03:22 494

原创 使用rook搭建Ceph集群

ceph存储部署到k8s上后可以开始做PV、PVC、Storage Class的练习了,也可以开始配置有状态的服务比如zookeeper、Redis了,解锁一大片领域,是k8s实践路上的一道必须迈过去的坎。

2023-08-22 11:40:58 865 1

原创 ceph数据分布

由于 PG的数量保持不变,由数据来找PGID的环节可以简单处理,对数据的key来取hash值再对pg的总数取模即可唯一确认pgid,pgid=hash(data_key)/pg_num。难点在于从PG到OSD,如果直接用 hash(pgid)/osd_num的模式,则OSD有增减的时候数据就有无规律的迁移,并且也无法体现OSD的不同权重。Crush算法就是来解决这个问题的,Crush目的是随机跳出一个OSD,并且要满足权重越大的OSD,挑中的概率越大。

2023-08-16 11:33:32 1180

原创 ubuntu下nfs服务安装

这将允许192.168.10网断的主机以RW模式访问共享目录。2、创建共享目录share并且授权所有人可以访问。这将允许任何主机以只读模式访问共享目录。看到了自己设置的共享目录则认为成功。1、在服务端安装nfs服务端组件。首先,创建一个用于挂载的目录。4、重新加载配置、重启服务。1、安装客户端NFS组件。2、挂载共享目录到客户端。一、服务端安装与配置。二、客户端安装与配置。

2023-08-13 12:43:46 1319

原创 kubernetes的日志

kubelet组件,systemd方式部署,journalctl -u kubelet查看;其他组件,pod方式部署kubectl logs查看;容器运行时将日志写入 /var/log/pods;系统日志,/var/log/message

2023-08-10 15:45:32 1584

原创 ingress-nginx控制器安装

采用YAML manifest的方式来安装ingress-nginx,用registry.lank8s.cn镜像库来替换 registry.k8s.io的库。

2023-07-06 11:53:05 1223 2

原创 kubernetes控制平面分析

对于新安装的kubernetes集群,要先搞清楚各组件的运行原理,包括系统的POD,网络插件的POD,还有操作系统上的进程,搞明白对应关系才能做到心中有数。

2023-06-30 15:56:00 697

原创 基于Ubuntu下安装kubernetes集群指南

kubernetes已经是后台开发的必知必会的技能了,最快速的学习方法莫过于自己从零开始搭建集群环境,在上面做各种实验了。以下为笔者基于ubuntu22.04.2操作系统和kubernete1.27.3以及docker24.0.2搭建k8s集群的详细过程,尽量详尽,少留坑。

2023-06-29 12:23:33 3700 1

原创 制作tomcat的docker镜像

利用macbookpro + VMware-fusion + Ubuntu的环境制作基于的tomcat镜像

2023-01-18 23:31:52 1357 1

原创 Tidb试用的小结

长期以来一直使用MySQL作为核心存储,特别稳定可靠,有问题多半就是自己使用不当,违背了最基本的原则,否则的话真的是遇不到什么特别故障。好用,靠谱,不作死就不会死,这个就是MySQL。虽说MySQL也有单点故障,常规的Master->Slave模式的Master就是单点,但是除了硬件故障外MySQL自己真的就没啥要命的故障,间隔一段时间就把Master的更换为新硬件也能把My...

2019-09-04 22:33:25 1589

原创 Python+Request+Allure进行API接口测试自动化(一)

简单记录一下我尝试进行接口自动化测试的过程。一个基本目标就是能够用python来写接口测试代码,并且要做到足够简单,能够让不太懂python语言的人也可以很容易参照例子完成接口的测试用例编写,并且和jenkins能够集成起来自动反复执行,测试结果可以图表的方式显示出来。开发和部署都是用Windows系统,期间有碰到很多坑,网上的资料太零散了,要多方参考和收集才能得到满意的结果。(...

2019-05-07 20:40:00 3682

原创 Kylin中Segments overlap的解决办法

        我们公司的有初具规模的Hadoop、Spark集群,用来做离线数据统计与分析。今年初引入Kylin来进行成熟业务的与计算,当然用Hbase来存储Kylin的结果数据了。由于业务数据规模增长较快,处理日志的时候越来越慢了,于昨日进行部分硬件升级。升级过程中,直接是将hadoop等集群直接关闭的,但是出了一个严重纰漏,先关闭的HDFS,再关闭的Hbase,导致HBASE中可能有数据没有...

2017-11-01 22:54:36 7232 6

原创 用eclispe来调试Kafka源代码

我是看好Scala的,毕竟Kafka、Spark这两个大招太牛了,你想不用它都不行,所以Scala肯定会红火起来的!看了2周的Scala了,Kafka也用了好几年了,终于可以把Kafka的源代码下下来,看看到底是何方圣神了!

2016-05-28 09:52:51 4195

原创 spark初体验

现在这个美好的时代,作为一个技术人,如果连Spark的大名都不知道,那显然是说不过去的,话说大数据的时候,必提Hadoop、Spark。我跟进Spark也好些日子,这次用最新搭建的Hadoop实验集群用最新的Spark来体验了一把酸甜苦辣!

2016-03-31 23:31:28 10368 1

原创 hadoop-2.7.2+hive 2.0.0采用LZO压缩的坑好深

一句话,hive-2.0.0没法应用到LZO文件的分片,无论多大的文件,都还是当成一个再来该干嘛干嘛!话说,hadoop-lzo.jar根本就没有被用到,当然没有这个,提交JOB的时候就会错了,但是真的等到JOB+TASK都跑的时候,LZO文件就不分片了。hive-2.0.0相比之前的版本已经大变样 了!

2016-03-24 00:03:32 5237

原创 在Centos下hadoop native-library错误

hadoop-2.7.3 + Centos 6.7 64位环境下使用弄一套Hadoop环境过程的中使用 hadoop checknative -a来检查环境支持Hadoop native 的状态。

2016-03-21 23:23:32 7954

原创 记一次Redis的异常分析

最近线上环境偶尔在零点过后的时候就会报Redis的异常,出现好几种错误,并且持续时间在1-3分钟之间,并不固定,报的错误也有3种,表现各不相同,很是诡异。

2015-12-12 21:43:34 9206

原创 Cassandra,我又回来了

早在2010年中的时候,我就对Casandra特别感兴趣,那时候还是0.7版本,累计2个月每天晚上都花2小时来啃源代码,读写流程都调试N遍了,也整出来几篇小文,不过后台工作方向上最终没有它的用武之地,后面就慢慢没有再持续更进了。这个差不多5年以后的现在,有些场景觉得Cassandra很合适,就又把他拿出来溜一把。         业务上有类似播放列表的需求,由于需要分析用户的行为数据(用户的播

2015-11-29 23:49:12 6185 2

原创 使用elasticsearch与kibana来分析nginx日志小结

最近由于项目中有很多业务功能需要借助搜索引擎才能实现(比如有业务是按照User_ID分表,但是又需要在部分地方采用entity_id的维度查询,为了避免同一业务数据需要存储两份导致一序列的问题,这样的问题就用搜索引擎来实现),甚至也想把所有涉及到DB使用like的操作用elasticsearch来实现,借此彻底避免人为或者恶意SQL注入风险的存在,刚好团队中有兄弟熟悉elasticsearch,就

2015-08-11 23:05:33 5500

原创 Sqoop1.4.5+hadoop2.2.0进行Mysql到HDFS的数据转换

正如上一篇记录的那样,采用sqoop1.99.4 + hadoop2.2.0来将mysql的表数据导入到HDFS的时候,死活没有找到如何制定字段分隔符号,这才有了试用sqoop1.4.5这番折腾。从架构上来将,Sqoop2确实在安全性等方面有很好的提升,但是Sqoop2目前还不推荐在生产环境中使用,它很多功能还缺失,不够完善,不过,对我们小规模的使用Hadoop的公司来讲,Sqoop1.4.X足够用了,毕竟我等跨部门、多人员来使用的情况还是比较少的,命令行好用的很啊!

2015-03-16 22:32:44 10742 1

原创 用Sqoop2在Mysql和hadoop导入导出数据

最近在做用户刷赞排除逻辑的时候,需要结合nginx的access.log日志和Mysql中的部分记录联合查询才能做到,之前的nginx日志一直存放在hadoop中,mysql的数据则没有导入到hadoop中去过,要搞定这事还得将Mysql中的一些表导入到HDFS中去才成。虽说Sqoop的大名早已经闻名遐迩了,但是到底没有在生产环境中试用过,这回倒是一个很好的实践机会。

2015-03-14 09:40:25 22594 1

转载 jmap的几个操作要慎用

最近中大招了,前一周开始偶尔在线上发现一些请求时长竟长达7秒,甚至在部分时段系统存在周期性的请求失败或者超时,各种招式都使用了还是不知道确定的原因,百思不得其解,头大的很!昨日晚上发现这个问题简直太严重了,必须要立刻马上处理掉,一会都耽误不得,遂持续奋斗到晚上一点多,早晨7掂掇又跑起来搞,用各种手段来找到问题的产生规律,一直到下午1点多,才终于发现症结所在了!应用服务上曾经出现过Load突

2015-01-31 20:30:00 18626 4

原创 SPARK入门参考

http://shiyanjun.cn/archives/744.html

2014-09-30 07:35:42 1801

原创 《ArchSummit深圳2014大会》所见所闻小结

参加了2天的AS2014,回来累得像猪一样,晚上9点多倒头就睡了!既然去了,好歹总要有一点收获吧,这不,现在就在造总结了,趁现在头脑还清醒,多少还有些记忆,赶紧记录下来!(1)18号上午1、18号上午,第一个是章文嵩博士的《构建大型云计算平台分布式技术的实践》,这个太高大上了,与我的领域有距离,不过,最前沿的东西还是能提供指导意义的。他主要讲述了,在各种存储环境下,调优IO的策略与性能

2014-07-22 00:04:26 2524

原创 hbase-0.98.3小试牛刀

最近一直在考虑统计分析的基础数据、中间shuju

2014-06-29 23:30:26 4283

原创 Rails的安装要知道的那些事

想安装redmine,由于要yila[root@lrts25 rubygems-2.2.2]# gem install  railsERROR:  Could not find a valid gem 'rails' (>= 0), here is why:          Unable to download data from https://rubygems.org/ - Er

2014-05-31 09:36:28 9232 1

原创 hive使用案例

(1)UDF 开发与使用实

2014-05-25 15:36:57 9756

原创 Hadoop2.2.0基于QJM的HA实践

日志分析集群已经搭建起来了,但是我总觉得NN没有采用HA是一个大大的隐忧,让我一直不敢把测试集群正式投入使用,总是担心把大批量的日志文件弄过来后,NN挂掉或者硬盘故障的话那就什么都白费工夫,遂决定要把NN的HA也搞起来。Hadoop2.2.0的NN的HA目前有两种方式,贫民的方式自然是QJM了,它会采用类似Zookeepr的方式来保存NN的LOG,而NFS的模式显然不是我等几台机器组成的集群的

2014-01-05 22:44:40 7950 7

空空如也

空空如也

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

TA关注的人

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