
Java技术
文章平均质量分 54
筑梦之路
知识就是力量!
展开
-
kafka学习笔记7 性能测试 —— 筑梦之路
kafka 不同的参数配置对 kafka 性能都会造成影响,通常情况下集群性能受分区、磁盘和线程等影响因素,因此需要进行性能测试,找出集群性能瓶颈和最佳参数。# 生产者和消费者的性能测试工具kafka-producer-perf-test.sh:用于测试Kafka Producer的性能,主要输出4项指标,总共发送消息量(以MB为单位),每秒发送消息量(MB/second),发送消息总数,每秒发送消息数(records/second)。原创 2025-01-20 17:20:23 · 447 阅读 · 0 评论 -
kafka学习笔记6 ACL权限 —— 筑梦之路
Kafka的ACL是基于以下几个方面的:资源类型(Resource Type): Kafka支持多种资源类型,包括主题(Topic)、消费者组(Consumer Group)、Kafka集群本身(Cluster)等。操作类型(Operation Type): 如Read(读取)、Write(写入)、Create(创建)、Describe(描述)、Alter(修改)等。权限类型(Permission Type):Allow表示允许访问,Deny表示拒绝访问。原创 2025-01-20 17:11:32 · 476 阅读 · 0 评论 -
kafka学习笔记5 PLAIN认证——筑梦之路
在Kafka中,SASL(Simple Authentication and Security Layer)机制包括三种常见的身份验证方式:SASL/PLAIN认证:含义是简单身份验证和授权层应用程序接口,PLAIN认证是其中一种最简单的用户名、密码认证方式,生产环境使用维护简单易用。可用于Kafka和其他应用程序之间的认证。SASL/SCRAM认证:SCRAM-SHA-256、SCRAM-SHA-512方式认证,本认证需要客户端、服务器共同协同完成认证过程,使用和维护上较为复杂。原创 2025-01-20 16:52:50 · 1228 阅读 · 0 评论 -
kafka学习笔记4-TLS加密 —— 筑梦之路
kafka TLS加密原创 2025-01-20 16:27:46 · 901 阅读 · 0 评论 -
kafka学习笔记2 —— 筑梦之路
Kafka的KRaft模式是一种新的元数据管理方式,旨在去除对ZooKeeper的依赖,使Kafka成为一个完全自包含的系统。在Kafka的传统模式下,元数据管理依赖于ZooKeeper,这增加了部署和运维的复杂性。为了解决这个问题,Kafka社区引入了KRaft模式。在KRaft模式下,所有的元数据,包括主题、分区信息、副本位置等,都被存储在Kafka集群内部的特殊日志中。这个日志使用Raft协议来保证一致性。原创 2025-01-20 10:33:20 · 542 阅读 · 0 评论 -
kafka学习笔记1 —— 筑梦之路
Kafka是由Linkedin公司开发的,它是一个分布式的,支持多分区、多副本的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。原创 2025-01-20 10:24:55 · 855 阅读 · 0 评论 -
Tomcat优化参考建议 —— 筑梦之路
ulimit -u 默认值为1024 ,即Linux操作系统对一个进程打开的文件句柄数量的限制。硬限制则是根据系统硬件资源状况(主要是系统内存)计算出来的系统最多可同时打开的文件数量。软限制是指Linux在当前系统能够承受的范围内进一步限制用户同时打开的文件数;nproc 操作系统级别对每个用户创建的进程数的限制。通常软限制小于或等于硬限制。原创 2025-01-10 17:50:39 · 971 阅读 · 0 评论 -
k8s helm部署kafka集群(KRaft模式)——筑梦之路
【代码】k8s helm部署kafka集群(KRaft模式)——筑梦之路。原创 2025-01-07 17:25:02 · 1156 阅读 · 0 评论 -
JDK11以上版本jlink自定义运行时——筑梦之路
是一个工具,可用于创建仅包含运行应用所需模块的自定义运行时镜像。如果你的应用不与数据库交互,则无需在镜像中包含。这有点像JRE镜像的替代品,但可以更好地控制你想要在镜像中使用的模块。如果你不与桌面GUI交互,则无需在镜像中包含。原创 2024-11-28 12:29:41 · 269 阅读 · 0 评论 -
不同JDK差异 —— 筑梦之路
以实际场景为例,假设您的企业是一家专注于大数据处理的公司,如果对性能和稳定性有极高要求,可能会倾向于选择经过针对性优化的 JDK,如 Dragonwell 或 Zulu。比如,Zulu 常常因其出色的稳定性和性能优化而备受赞誉。大公司如 Amazon、Alibaba、Huawei 等为其对应的 JDK 提供了强有力的企业级支持和维护服务。有些是完全开源免费的,而有些在特定的商业使用场景下可能需要付费或遵循特定的条款。: 支持广泛的平台,包括Windows、Linux、macOS等,提供免费和付费版本。原创 2024-08-15 14:46:16 · 2043 阅读 · 0 评论 -
kafka性能测试案例 —— 筑梦之路
以写入100w条MQ消息为例,每秒平均向kafka写入了4.77MB的数据,平均4999.725条消息/秒,每次写入的平均延迟为0.51毫秒,最大的延迟为481毫秒适当调大 batch.size和 linger.ms:这两个参数是配合起来使用的,目的就是缓存更多的数据,减少客户端发起请求的次数。这两个参数根据实际情况调整,注意要适量。关闭数据发送确认机制:适用于对数据完整性要求不高的场景,比如日志,丢几条无所谓那种。原创 2024-07-22 15:18:12 · 586 阅读 · 0 评论 -
arm64架构下源码编译安装kafka —— 筑梦之路
一般来说,直接使用官方提供的二进制文件即可,没有必要使用源码编译安装的方式,而对于有特殊用途的,选择源码编译安装无疑是更好地选择。比如修改源码实现想要的功能,mirrormaker2保持topic名称不变。● 如果你对 Kafka 进行了自定义修改,确保这些修改不会破坏 Kafka 的核心功能。● 确保在编译和运行 Kafka 时使用与你的 Kafka 版本兼容的 Java 版本。● Kafka 的配置非常灵活,你可以根据需要调整 config/ 目录下的配置文件。原创 2024-07-10 22:19:12 · 1022 阅读 · 0 评论 -
ES集群性能优化参考建议——筑梦之路
ES集群调优参考建议Elasticsearch使用方式调优本文摘自一次看完28个关于ES的性能调优技巧,感谢大佬的分享,向大佬学习。原创 2024-05-18 15:00:10 · 337 阅读 · 0 评论 -
kafka集群跨区域跨集群同步方案MirrorMaker1 —— 筑梦之路
acks 指定在集群中有多少个分区副本收到消息,生产者才会认为消息写入成功,对于消息是否丢失有比较大的影响,有3个值可选,0 1 all , 其中0 、1都可能会丢失数据,all安全性最高,效率最低,2个以上分区副本时不丢失任何数据。auto.offset.reset 消费者在无效偏移量、没有偏移量的情况下如何处理,默认是latest,从最新记录读取,容易丢失数据,这里设置为从头开始,避免丢失数据。max.poll.interval.ms 消费者处理逻辑的最大时间。下面介绍一则实战案例。原创 2024-05-17 23:00:55 · 1257 阅读 · 0 评论 -
tomcat通过JAVA_OPTS注入自定义变量 —— 筑梦之路
tomcat部署的java应用在k8s集群或容器中,想要给tomcat传自定义变量,应该如何实现?1. 在k8s集群或容器环境中通过env或者configmap方式添加自定义的环境变量。在配置文件server.conf context.xml等文件中。3. tomcat配置引用变量。原创 2024-02-20 11:44:54 · 968 阅读 · 0 评论 -
kafka参数配置参考和优化建议 —— 筑梦之路
使用高性能的硬件设备,包括高速磁盘、大内存和高性能网络设备,以提高Kafka集群的整体性能。:调整Kafka的配置参数,包括消息存储、副本数、日志段大小、缓冲区大小等,以提高Kafka的吞吐量和稳定性。:优化Kafka集群的网络设置,包括网络带宽、延迟和可靠性,以确保消息能够快速、可靠地传输。:合理划分分区,避免分区过多或过少,以充分利用集群资源并提高消息的并发处理能力。:建立完善的监控系统,及时发现和解决Kafka集群的性能瓶颈和故障,以保障Kafka的稳定运行。原创 2024-01-19 14:51:49 · 2325 阅读 · 0 评论 -
命令行重置kafka消费最新数据 —— 筑梦之路
kafka消费能力不足,消息积压太多,现需要重置消费,使其消费最新的数据。原创 2024-01-09 10:40:38 · 1455 阅读 · 0 评论 -
kafka处理大量消息积压tips —— 筑梦之路
场景:1. 如果是Kafka消费能力不足,则可以考虑增加 topic 的 partition 的个数,同时提升消费者组的消费者数量,消费数 = 分区数 (二者缺一不可)2. 若是下游数据处理不及时,则提高每批次拉取的数量。批次拉取数量过少(拉取数据/处理时间 < 生产速度),使处理的数据小于生产的数据,也会造成数据积压。方法:1. 增大partion数量,2. 消费者加了并发,服务, 扩大消费线程3. 增加消费组服务数量4. kafka单机升级成了集群。原创 2024-01-02 15:13:08 · 1727 阅读 · 0 评论 -
docker搭建Dinky —— 筑梦之路
Dinky 是一个开箱即用易扩展,以为基础,连接OLAP和数据湖等众多框架的一站式实时计算平台,致力于流批一体和湖仓一体的探索与实践。原创 2024-01-02 10:17:10 · 1839 阅读 · 1 评论 -
K8S 搜集java应用pod重启前现场 —— 筑梦之路
JAVA技术广泛用于各行各业,而云原生的流行,越来越多的企业将java应用搬进K8S中进行部署管理,OOM是java应用比较常出现的故障问题,对于容器环境的java应用搜集OOM等现场比较有难度,为了持续对应用的优化,搜集故障现场也是比较重要的。如果容器已经处于已终止或者已完成状态,则对 preStop 回调的调用将失败。在用来停止容器的 TERM 信号被发出之前,回调必须执行结束。回调被执行之前即开始计数, 所以无论回调函数的执行结果如何,容器最终都会在 Pod 的终止宽限期内被终止。原创 2023-12-26 11:17:32 · 681 阅读 · 0 评论 -
Arthas 排查JAVA应用问题 —— 筑梦之路
Arthas是阿里开源的一款 Java 应用诊断工具,可以在线排查问题,动态跟踪 Java 代码,以及实时监控 JVM 状态。原创 2023-12-15 17:04:14 · 1491 阅读 · 0 评论 -
开源BI 平台AJ-Report —— 筑梦之路
AJ-Report: AJ-Report是一个完全开源,拖拽编辑的可视化设计工具。三步快速完成大屏:配置数据源---->写SQL配置数据集---->拖拽生成大屏。让管理层随时随地掌控业务动态,让每个决策都有数据支撑。原创 2023-12-15 16:02:31 · 1051 阅读 · 0 评论 -
k8s部署rocketmq单节点(server+broker+console)—— 筑梦之路
之前写过几篇关于rocketmq构建双架构镜像、docker-compose部署的文章,接上篇docker-compose部署rocketmq,这里记录下k8s下如何部署。原创 2023-12-02 23:37:40 · 2096 阅读 · 0 评论 -
云原生环境下JAVA应用容器JVM内存如何配置?—— 筑梦之路
之前简单地记录过一篇,这里在之前的基础上更加细化一下。原创 2023-11-01 11:21:00 · 1762 阅读 · 0 评论 -
docker-compose部署hadoop集群(高可用)—— 筑梦之路
hadoop高可用依赖组件zookeeper。原创 2023-06-05 12:37:33 · 1793 阅读 · 7 评论 -
docker-compose 部署zookeeper集群 —— 筑梦之路
Zookeeper是一个开源的分布式协调服务中间件,它提供了一种分布式数据管理服务,能够实现分布式锁、命名服务、配置管理、集群管理等功能,从而帮助用户构建高可用、高性能的分布式系统。以下是Zookeeper的一些主要特点和功能:分布式协调服务:Zookeeper具有完备的分布式协调服务,如分布式锁、leader选举、命名服务、配置管理等,可以帮助用户构建高可用、高性能的分布式系统。原创 2023-06-05 10:30:36 · 3005 阅读 · 0 评论 -
Docker环境下的JVM参数非定值配置 —— 筑梦之路
之前有种说法是,容器环境,由于java获取不到容器的内存限制,只能获取到服务器的配置。以前确实有这种情况,但是java为了更好的使用容器环境,在Java 10 引入了 +(默认情况下启用),通过这个特性,可以使得JVM在容器环境分配合理的堆内存。后来这个特性也合入了JDK8U191版本,在JDK8U191版本之后的java8也是可以获取容器的内存限制的。原创 2023-05-30 14:58:36 · 1227 阅读 · 0 评论 -
docker 部署JAVA应用OOM的排障经历——筑梦之路
不管是从docker容器的日志还是系统日志均未发现有用的信息,也尝试更换过镜像tomcat版本、docker版本、docker-compose版本,均未能解决该问题。使用docker部署JAVA的应用,tomcat作为中间件容器,启动应用时总是报错无法创建Java虚拟机,然后就是OOM。根据查阅的资料查询当前系统的文件描述符相关设置,发现当前系统limits.conf内设置的值很大。总结:对于系统参数优化方面,并不是值越大越好,需要根据实际情况调整,而不是盲目地去增加参数值。至此,终于找到问题根源所在。原创 2023-05-06 10:46:59 · 996 阅读 · 0 评论 -
jenkins 自动化 —— 筑梦之路
基本环境: 1.jdk环境,Jenkins是java语言开发的,因需要jdk环境。 2.git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。 3.maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle 以上是自动化部署java程序jenkins需要的基本环境安装:1.下载安装包jenkins.war; 2.在安装包根路径下,运行命令java -jar jen...原创 2022-03-26 21:30:55 · 1767 阅读 · 0 评论 -
VScode 快捷键——筑梦之路
按 Press 功能 FunctionCtrl + Shift + P,F1 显示命令面板 Show Command PaletteCtrl + P 快速打开 Quick OpenCtrl + Shift + N 新窗口/实例 New window/instanceCtrl + Shift + W 关闭窗口/实例 Close window/instance基础编辑 Basic editing按 Press 功能 FunctionCtrl+X 剪切行(空选定) Cut line (empty .原创 2022-03-14 14:37:04 · 300 阅读 · 0 评论 -
git 常用命令——筑梦之路
新建代码仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]配置git# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[na.原创 2022-01-19 12:24:25 · 146 阅读 · 0 评论 -
Docker-compose nacos搭建——筑梦之路
gitee上国内地址: git clone https://gitee.com/hub-mirrors/nacos-docker.git目录nacos-docker/example下有多种模式示例,比如单机,集群,使用mysql5.7 使用mysql8.0等这里以单机示例:cat standalone-mysql-5.7.yamlversion: "2"services: nacos: image: nacos/nacos-server:2...原创 2021-11-02 16:28:31 · 403 阅读 · 0 评论 -
hadoop2.x 常用端口汇总信息——筑梦之路
组件 节点 默认端口 配置 用途说明HDFS DataNode 50010 dfs.datanode.address datanode 服务端口,用于数据传输HDFS DataNode 50075 dfs.datanode.http.address http 服务的端口HDFS DataNode 50475 dfs.datanode.https.address https服务的端口HDFS DataNode 50020 dfs.datanode.ipc.ad.原创 2021-09-25 18:25:30 · 377 阅读 · 0 评论 -
Java注册为Windows 系统服务——筑梦之路
这里使用第三方工具:https://github.com/winsw/winsw/releaseswinSW.x86.exe将该文件重命名为app.exe新建xml文件app.xml 必须和exe文件名字一致 1 <service> 2 <!-- 该服务的唯一标识 --> 3 <id>app</id> 4 <!-- 注册为系统服务的名称 --> 5 <name>app</name>.原创 2021-03-30 18:08:12 · 251 阅读 · 0 评论 -
nexus 私有仓库的搭建——筑梦之路
nexus支持很多的仓库,比如yum、apt、pip、maven等,我这里主要使用maven,就以maven为例做个记录。环境准备:服务器连接外网,因为nexus作为内网的仓库,只是从网络上下载到本地进行缓存,下次拉取更快,没有外网访问是不能拉取远程的包的,这里非常重要!!!!操作系统:centos 7 x86_64 minaldocker-ce版本:19.03 使用docker可以方便快捷部署 可移植性好1.搜索一下nexusdocker search nexus2.拉取镜像.原创 2021-03-09 15:22:22 · 2941 阅读 · 0 评论 -
nginx静态资源跨域请求 解决方法——筑梦之路
现象:Accesstoimageat'http://192.168.10.90:7000/media/ig/person/photo/20200714/4ed4724efcf9414eb8b8d74e0580985d.jpg'fromorigin'http://localhost:8080'hasbeenblockedbyCORSpolicy:No'Access-Control-Allow-Origin'headerispresentontherequested...原创 2020-07-16 10:46:39 · 2103 阅读 · 0 评论 -
Java基础知识之继承
学习Java继承之前,我们想回忆一下Java面向对象需要特别注意的几个关键点。面向对象是将复杂的事情简单化了,它通过封装的方式使得代码的重用性更高和安全性更强。平时我们要学会用面向对象的方式去思考,去描述事物或行为。想要使用OOP,一定要清楚其三个主要特征:1.对象的行为(behavior):你可以对对象施加哪些操作,或可以对对象施加哪些方法。2.对象的状态(sta转载 2017-06-17 23:20:08 · 262 阅读 · 0 评论 -
Java中i++与++i区别
Java中i++与++i的区别(效率分析)http://www.linuxidc.com/Linux/2017-06/145269.htm转载 2017-07-02 10:50:43 · 280 阅读 · 0 评论 -
关于SpringMVC之认识Validation
关于SpringMVC之认识Validationhttp://www.linuxidc.com/Linux/2017-07/145340.htm转载 2017-07-02 10:53:16 · 236 阅读 · 0 评论 -
SpringMVC+Mybatis搭建高性能安全站点
http://www.imooc.com/article/14165转载 2017-07-02 11:09:11 · 257 阅读 · 0 评论