<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Java小虎]]></title><description><![CDATA[分享一些JAVA资料]]></description><link>https://blog.youkuaiyun.com/tjsquall</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tjsquall]]></copyright><item><title><![CDATA[Jenkins动态Slave设计思路]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/117514005</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/117514005</guid><author>tjsquall</author><pubDate>Thu, 03 Jun 2021 11:00:03 +0800</pubDate><description><![CDATA[一、缘起
CICD的思想目前对于每一个正规的软件开发团队基本都是必填项，那么一般来讲Jenkins的应用自然沦为了刚需。
Jenkins目前在单台Vm虚机上基于docker容器化部署，当Jenkins用了一段时间以后，发现每天的Jenkins 构建次数日益剧增，逐渐出现了Jenkins访问速度慢，卡顿，甚至直接终止服务响应的情况。由于底层是基于Vm，那么申请了一些物理资源，暂时解决了问题。
随后，随着几个项目组的构建需求频繁增长，每天Jenkins的构建次数会超过500次，此时显然原有部署结构已经不够支撑了]]></description><category></category></item><item><title><![CDATA[一次Telegraf的内存调优]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/114443112</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/114443112</guid><author>tjsquall</author><pubDate>Sat, 06 Mar 2021 15:41:26 +0800</pubDate><description><![CDATA[问题背景
很多朋友在做采集的时候会用到Telegraf，它工作时首先会加载配置文件。 在部署联调时突然发现由于Telegraf加载配置文件时物理内存瞬时升至6G以上，由于Go的垃圾回收机制，读取配置信息后，不会及时释放掉内存，得等待GC时才可以根据GC策略逐步释放。部署生产环境时一台物理机或虚机上可能会部署几个服务。那么Telegraf读取配置文件就瞬时的吃掉了这么多内存，给整体资源带来了不必要的麻烦。故，需要想一个办法把这个问题解决掉。
思考过程


思路


问题是否可复现
通过实际操作，的确发现这个问]]></description><category></category></item><item><title><![CDATA[K8s 操作命令小结（Helm3版本）]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/111825459</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/111825459</guid><author>tjsquall</author><pubDate>Sun, 27 Dec 2020 20:24:43 +0800</pubDate><description><![CDATA[Helm命令

查看版本号

helm version


创建chart服务

helm create demo
helm install -f values.yaml mydemo .


更新chart服务

helm upgrade -f values.yaml clickhouse .


卸载chart服务

helm uninstall flink -n midware


当前目录下检查语法

helm lint


chart模拟安装

helm install --dry-run --d]]></description><category></category></item><item><title><![CDATA[当LVM遇到RookCeph]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/111366241</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/111366241</guid><author>tjsquall</author><pubDate>Fri, 18 Dec 2020 15:03:57 +0800</pubDate><description><![CDATA[Preface
由于近期Ceph集群经常出现各种OSD的问题，每次都需要人工手动来解决，故简单分享一下RookCeph是如何利用LVM来构建的OSD存储，OSD存储又能为我们做什么。
Why Use It?

Ceph OSD Daemon 多副本同步机制，保障高可用、一致性。

ceph集群一般包含多个OSD，一旦发生磁盘故障时，Ceph OSD Daemon会智能的协同其他OSD对损坏的磁盘上的OSD进行恢复操作，与此同时，其内部会重新选主。

OSD 扩展灵活、去中心化

相对传统HDFS，摒弃掉了元]]></description><category></category></item><item><title><![CDATA[Rook-Ceph mon时钟误差的问题解决]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/110367481</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/110367481</guid><author>tjsquall</author><pubDate>Mon, 30 Nov 2020 09:32:51 +0800</pubDate><description><![CDATA[问题情况
安装好rook-ceph后，使用工具进入pod进行状态检查的时候，发现了以下问题：


思考过程
看问题报错情况感觉应该是发生了服务器时钟偏差的问题
网上查了一些资料，某度上查出的大部分的文章都是这样去修改：

但是实际上我们通过的是rook-ceph来管理的，于是乎想到了k8s的conigmap配置文件。

又查了一下官方的解释，那么跟我想的基本是一样的

找到了修改配置文件的方法

最终效果

解决思路
[root@kv-master-00 ~]# kubectl -n rook-ceph e]]></description><category></category></item><item><title><![CDATA[Ceph-集群安装记录（ansible版本）]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/109397968</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/109397968</guid><author>tjsquall</author><pubDate>Sat, 31 Oct 2020 09:25:07 +0800</pubDate><description><![CDATA[使用背景
ceph最近这两年挺火，打算尝试下它的块存储是怎么玩的，简单记录下
硬盘配置
1、集群需要用到OSD存储，OSD只支持物理卷
2、可使用cfdisk进行分区，先分好逻辑分区，再创建物理卷
3、集群中用作OSD的物理卷的机器，物理卷分区命名必须保持一致
部分配置命令
 #卸载挂载点
umount /dev/sda5
#创建物理卷
 pvcreate /dev/sda5
#检查物理卷
pvscan


配置主机名
1、配置永久静态主机名，主机配置为ceph1ceph3，客户机配置为client1cli]]></description><category></category></item><item><title><![CDATA[Tuleap-敏捷管理实战]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/108347058</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/108347058</guid><author>tjsquall</author><pubDate>Tue, 01 Sep 2020 17:48:01 +0800</pubDate><description><![CDATA[What it is?

Tuleap 核心系统是基于 LAMP 并且架构于 CentOS 之上。如今的开发栈是 AngularJS (v1)、REST 后端（PHP）、基于 NodeJS 的实时推送服务器。
Eclipse 基金会使用 Tuleap 取代了 Bugzilla,Tuleap 是一个独特的开源项目管理工具，目前发展势头很好，现在，每个月它会出一个大版本。
基于 GPLv2 协议，它提供了一个集中化的平台，在这里，团队可以找到他们所需的所有工具，追踪他们软件项目的生命周期。他们可以找到项目管理（]]></description><category></category></item><item><title><![CDATA[关于SSL认证的小坑 SSLPeerUnverifiedException]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/108309469</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/108309469</guid><author>tjsquall</author><pubDate>Sun, 30 Aug 2020 19:20:14 +0800</pubDate><description><![CDATA[起因
最近公司要配置Tuleap和Jenkins的双向SSL交互通信，什么？Tuleap是个什么玩意？ 这个我会在后面的帖子进行补充介绍。 您就理解它是一款优秀开源的项目管理工具即可（敏捷看板）。
经过
一波常规操作之后，基本上两台服务器各自使用SSL的通信测试命令都能跑通了。
常用的两个命令给大家演示一下：
//测试本地和目标服务器的443端口是否可以正常连通握手
openssl s_client -connect 172.17.162.164:443
//输出连接的到目标服务器的通信过程
curl -v]]></description><category></category></item><item><title><![CDATA[ArangoDb存储引擎分析_v1]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/107808358</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/107808358</guid><author>tjsquall</author><pubDate>Wed, 05 Aug 2020 10:15:30 +0800</pubDate><description><![CDATA[先抛砖

做任何事情之前，我们往往都会去想一个问题， 为什么我们要去做？
为了选型一款优秀的图数据库，我们之前针对大名鼎鼎的 Neo4j，Janus Graph，ArangoDB，DGraph，Tiger Graph等，都进行了一些技术预研，
针对我们项目的实际应用场景，最终选择了ArangoDB，我们今天暂不谈图数据库的技术选型，也不去码代码，我们先聊一聊ArangoDB底层的存储引擎。
So Why ？
往往一款成熟热门的产品，其社区活跃度、代码版本迭代的速度都是很快的。比如ClickHouse，在我之]]></description><category></category></item><item><title><![CDATA[ArangoDB压测小记]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/107594207</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/107594207</guid><author>tjsquall</author><pubDate>Sun, 26 Jul 2020 15:29:10 +0800</pubDate><description><![CDATA[压测环境

6C 16G 测试服务器


服务器本机部署 ArangoDB3.6


手动编写压测程序，Jar包形式本机启动

场景用例
插入/更新
CASE 1（批量更新）：

使用ArangoDB自带的 WEB Interface
相对复杂的CI模型结构
Update语句，更新单一属性
20W条更新，首次执行59秒，
TPS ≈ 3300

FOR c IN col_CI

UPDATE c WITH { numericVal: 5 } IN col_CI

CASE 2（单条循环插入）：

JAVA程]]></description><category></category></item><item><title><![CDATA[ArangoDB-AQL简单操作]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/107138575</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/107138575</guid><author>tjsquall</author><pubDate>Sun, 05 Jul 2020 14:28:00 +0800</pubDate><description><![CDATA[尝试几个简单的查询
1、返回数据集"airports"中所有的airports:
FOR airport IN airports
    RETURN airport 

2、只返回California的airports:
FOR airport IN airports
    FILTER airport.state == "CA"
    RETURN airport

3、返回每个国家的机场数量
FOR airport IN airports
    COLLECT state = airport.s]]></description><category></category></item><item><title><![CDATA[ArangoDB-存储引擎分析]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/106985121</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/106985121</guid><author>tjsquall</author><pubDate>Sat, 27 Jun 2020 17:11:34 +0800</pubDate><description><![CDATA[当今很多主流DB都使用了 LSM Tree 的存储模型，包括 LevelDB，HBase，Google BigTable，Cassandra，InfluxDB 等。
ArangoDB果断采用了RocksDB做的底层存储引擎，RocksDB存储模型使用的是LSM-Tree数据结构，老规矩先上图。


存储模型


WAL（Write Ahead Log）
在设计数据库的时候经常被使用，当插入一条数据时，数据先顺序写入 WAL 文件中，之后插入到内存中的 MemTable 中。这样就保证了数据的持久化，不会丢失]]></description><category></category></item><item><title><![CDATA[01-为什么要学习分库分表？]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/104937584</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/104937584</guid><author>tjsquall</author><pubDate>Wed, 18 Mar 2020 10:27:14 +0800</pubDate><description><![CDATA[为什么要学习分库分表？

2019年双11成交额重要节点：
11月11日1分钟超65亿；
11月11日1分36秒，超100亿；
11月11日5分25秒，超300亿；
11月11日1小时3分59秒，超1000亿；
11月11日1小时26分07秒，成交额超1207亿；
11月11日14小时21分，成交额破2000亿；
11月11日16小时31分，成交额破2135亿；
11月11日22点28分，成交额超...]]></description><category></category></item><item><title><![CDATA[TPS计算方法，实用]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/104938672</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/104938672</guid><author>tjsquall</author><pubDate>Wed, 18 Mar 2020 10:23:47 +0800</pubDate><description><![CDATA[​​​​
前段时间，项目这边需要评估下几个主要功能点的性能指标，问题其实并不难，但是发现一个很有意思的问题，一些同事居然不太理解TPS到底是个什么概念，往往和QPS分不清……
在这里给大家重申一下，
QPS = Query Per Second / Request Per Second
每秒查询次数 / 每秒请求次数 ，一般用于系统中“读请求/读操作”的性能评估指标。
这里不提事务，因为只读查询一...]]></description><category></category></item><item><title><![CDATA[ASP导出EXCEL]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/1955957</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/1955957</guid><author>tjsquall</author><pubDate>Thu, 20 Dec 2007 16:12:00 +0800</pubDate><description><![CDATA[XSL.ASP !--#include file="conn.asp"-->% Set xlApplication = Server.CreateObject("Excel.Application") 调用excel对象 xlApplication.Visible = False 无需打开excel xlApplication.SheetsInNewWorkbook=1 指定ex]]></description><category></category></item><item><title><![CDATA[ASP.NET2.0 文本编辑器FCKeditor使用方法详解]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/1955895</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/1955895</guid><author>tjsquall</author><pubDate>Thu, 20 Dec 2007 15:46:00 +0800</pubDate><description><![CDATA[FCKeditor是目前最好的html文本编辑器，如果还不明白的话看了下图就知道了效果图:那么为什么说是FCKeditor的冰冷之心呢？这不是哗众取宠，主要是说它使用起来有点麻烦，下文就详细说明如何搞定这玩意儿。1.FCKeditor的官方网站是：http://www.fckeditor.net/download 目前最新的FCKeditor 2.4.2版本。请在此页下载：http://s]]></description><category></category></item><item><title><![CDATA[Unsupported method: ResultSet.last 错误]]></title><link>https://blog.youkuaiyun.com/tjsquall/article/details/1955880</link><guid>https://blog.youkuaiyun.com/tjsquall/article/details/1955880</guid><author>tjsquall</author><pubDate>Thu, 20 Dec 2007 15:41:00 +0800</pubDate><description><![CDATA[  解决办法： 注意其中的 java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,    java.sql.ResultSet.CONCUR_READ_ONLY  public void prepareStatement(String strSql)...{         try...{             prepstmt = this.]]></description><category></category></item></channel></rss>