DEVOPS 一月 02, 2022

使用 easyctl 在多主机上并行执行脚本

文章字数 5.3k 阅读约需 5 mins.

当有大批量主机,需要进行类似的操作时,推荐一个不需要配置 SSH 免密登录 的简单工具 —— easyctl

上面这个场景,主要使用到了 easyctl 中的 执行指令集 - 跨主机并行执行shell...

查看全文

DEVOPS 一月 02, 2022

使用 easyctl 在多主机上并行执行脚本

文章字数 5.3k 阅读约需 5 mins.

当有大批量主机,需要进行类似的操作时,推荐一个不需要配置 SSH 免密登录 的简单工具 —— easyctl

上面这个场景,主要使用到了 easyctl 中的 执行指令集 - 跨主机并行执行shell,easyctl 提供的其他功能及使用方式,可见 源码 或文档中的其他部分。

因为 跨主机并行执行 shell 这个功能实际就是通过 ssh 连接到各主机,并行执行指定命令,并将最终直接结果汇总,所以理论上只要支持 ssh 的环境,都可以使用 easyctl 的这个功能,比如 Mac,甚至 Windows...

查看全文

JAVA 十二月 26, 2021

ThreadLocal 泄露实例

文章字数 10k 阅读约需 9 mins.

Java 中,ThreadLocal 是线程本地变量,可用来在多线程环境,为每个线程保存一份独立的变量,不会被其他线程所操作。

关于 ThreadLocal 详细的介绍及用法,可以查阅 An Introduction to ThreadLocal in Java

线程的创建和销毁是很昂贵的操作,需多线程执行时,一般会使用线程池。当线程池和 ThreadLocal 同时使用时,因为线程在使用完成后会归还给线程池,供下次使用,而并非销毁再重新创建,所以如果之前线程存入的本地变量没有进行清理,后续...

查看全文

JAVA 十二月 19, 2021

无法动态附加到 Java 进程?

文章字数 5.5k 阅读约需 5 mins.

找出 Java 应用频繁 Full GC 的原因 中介绍了一些 JDK 中自带的命令,
如:jmapjstat 等,但在实际使用时,可能会遇到类似如下的问题:

$ jmap -histo 2867
2867: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding...
查看全文

JAVA 十二月 12, 2021

找出 Java 应用频繁 Full GC 的原因

文章字数 12k 阅读约需 11 mins.

一个线上的 Java 应用(JDK1.8,默认 Parallel GC)在运行几天之后,出现频繁 Full GC 的现象,使用 jstat -gcutil <pid> 2s 观察,状态大致如下:

$ jstat -gcutil 23426 2s
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.00   0.00  93.17  99.99  83.81  78.48   1814   90.687    45  261.660  352.347
  0.00   0.00  97.30  99...
查看全文

JAVA 十二月 05, 2021

使用 Java 8 Stream 优雅的找出重复数据

文章字数 5.9k 阅读约需 5 mins.

原文地址:https://wyiyi.github.io/amber/2021/11/30/stream/

最近经常遇到问题:要获取到集合中某一属性值重复的数据,除了for 循环,还有更简单得处理方式?

先来引入 Stream 流的概念。

Stream API(java.util.stream.*) 是 Java 8 中新增重要特性。
Stream 将要处理的元素集合看作一种流,由于java.util.stream.Stream 是一个 Interface ,在其中提供了函数方法,
使流在管道中进行...

查看全文

MAC 十一月 28, 2021

iTerm2 快速通过跳板机 ssh 远程登录

文章字数 6.2k 阅读约需 6 mins.

假设有 A、B、C …… 几批主机:

  • a0 为跳板机,a1 ~ an 为实际要操作的目标远程主机
  • b0 为跳板机,b1 ~ bn 为实际要操作的目标远程主机

以此类推,共有 n 批。

客户端能联通各跳板机,但无法直接联通目标主机,每批主机之间网络隔离。

需通过 ssh 远程登录目标主机时,是比较痛苦的一件事,一堆 ip 和密码不便记忆,从文档里找又效率很低。

首先想到的是配置跳板机和各目标主机之间的 SSH 免密登录,能够起到不用记忆密码的作用,但需要配置客户端和各个跳板机的免密登录,以及各...

查看全文

K8S 十一月 21, 2021

【转】kubernetes中静态pod学习笔记

文章字数 11k 阅读约需 10 mins.

原文地址:https://www.jianshu.com/p/eac82da1a366

最近翻看kubelet源码,看到配置项的时候,发现了静态pod这一概念。

而本人也是使用kubespherek8s进行管理的,其中kubesphere启动k8s控制节点服务(控制器、调度器、apiserver)也是通过静态pod进行管理的。

由此,想学习学习静态pod的概念。

什么是静态pod

kubelet直接管理的pod被称为静态pod

我们通常通过以下方式创建pod:

  1. 调用api-server...
查看全文

DATABASE 十一月 14, 2021

是时候升级 MySQL Connector/J 到 8.0 了

文章字数 7.4k 阅读约需 7 mins.

使用 JDBC 连接 MySQL 时,你是否也对 JDBC URL 连接串中的参数感到很神秘?

例如:

jdbc:mysql://localhost:3306/hinex?useSSL=false&serverTimezone=UTC

连接串的通用格式为:

protocol//[hosts][/database][?properties]

那么可用的 properties 都有哪些?默认值和可用的值都有什么,又都是什么含义呢?

这就要从 Connector/J 说起了。

Connector...

查看全文

K8S 十一月 07, 2021

【转】Linux CAP介绍与k8s下配置使用

文章字数 13k 阅读约需 12 mins.

原文地址:https://www.jianshu.com/p/a7f6c4f420fa

关于capability

发音

美[keɪpəˈbɪləti] 英[keɪpə'bɪləti]

译为能力功能,一般缩写CAP,以下我们简称CapabilitiesCAP

从内核2.2开始,Linux将传统上与超级用户root关联的特权划分为不同的单元,称为CAP

CAP作为线程(Linux并不真正区分进程和线程)的属性存在,每个单元可以独立启用和禁用。
如此一来,权限检查的过程就变成了:
在执行特...

查看全文

JAVA 十月 31, 2021

GMT+8 和 Asia/Shanghai 的区别

文章字数 6.2k 阅读约需 6 mins.

现今全球共分为24个时区。实际上,常常1个国家或1个省份同时跨着2个或更多时区,为了照顾到行政上的方便,常将1个国家或1个省份划在一起。所以时区并不严格按南北直线来划分,而是按自然条件来划分。例如,中国幅员宽广,差不多跨5个时区,但为了使用方便简单,实际上在只用东八时区的标准时即北京时间为准。 —— 引自百度百科 时区

时区可以使用名称(如:东八区、西五区)、偏移量(如:UTC+8UTC-5)、缩写(如:PSTCST),或 时区数据库Area/Location 的形式(如 Asia...

查看全文
加载更多
0%