碎片 集群 线程 进程

concurrentHashMap为什么是线程安全的?

ConcurrentHashMap是线程安全的。它可以被多个线程同时使用而不需要额外的同步措施(比如使用synchronized)来保证线程安全。这是因为ConcurrentHashMap内部使用了一些非常高效的机制来保证线程安全,包括: 分段锁:ConcurrentHashMap将数据分成多个段, ......
concurrentHashMap 线程

Ubuntu 20.04 安装ClickHouse集群

Ubuntu 20.04 安装ClickHouse集群 引言 因为笔者最近一直想实现一个自己的APM服务端,但是看了很多APM服务端系统没有使用.Net Core来写的,都是采用Java或者Go,笔者是写C#的,但是笔者认为.Net Core的性能在现在对比Go和Java很有优势,所以笔者才有想法使 ......
集群 ClickHouse Ubuntu 20.04 20

线程池代码

缓存线程池 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class CachedThreadPoolExample { public static void ma ......
线程 代码

线程的状态

1.初始化 new 2.初始化成功等待使用 runnable 3.running 4.blocking,wait》sleep不是线程状态之一只是在现有的状态中睡觉 5.销毁 解释: 首先,程序创建了一个新的线程对象,并输出其状态为 NEW。 然后,程序调用线程对象的 start() 方法,启动该线程 ......
线程 状态

线程池比较

fixthreadpool固定线程数线程池n,maxthreadNum =n(无效参数),core=n,满了之后在无界队列中排队(LinkedBlockingQueue无界链表阻塞队列)。keepaliveTime无效(可空闲时间) singthreadpool线程数1的线程池,maxthreadN ......
线程

oracle data guard集群之参数文件详解

############# 1.log_archive_config 该参数必须显式声明主备库的db_unique_name,且主库的db_unique_name永远放在第一位。其他备库的跟随其后。该参数适用于:主库、物理备库、逻辑备库、快照备库。 log_archive_config = 'dg_ ......
集群 参数 文件 oracle guard

Java多线程-基础篇

一、概述 如果你想一个程序运行得更快,那么可以将其断开为多个片段,在单独的处理器上运行每个片段。并发就是用于多处理器编程的工具。如果你有一台多处理器的机器,那么就可以在这些处理器上分布多个任务,从而提高吞吐量。例如web服务器,在Servlet就是为每个单独的请求分配一个线程,从而将大量的请求分布到 ......
线程 基础 Java

k8s-外置ETCD集群部署

如何把ETCD的数据库备份,以及还原的操作方法(待更新中) 地址: Etcd 是一个分布式键值存储系统,Kubernetes使用Etcd进行数据存储,所以先准备一个Etcd数据库,为解决Etcd单点故障,应采用集群方式部署,这里使用3台组建集群,可容忍1台机器故障。为了节省机器,这里把3个ETCD实 ......
集群 ETCD k8s k8 8s

ZooKeeper数据和集群特点,ZAB协议和选主过程解析

前言 本文讲述 ZooKeeper 集群架构特点、数据结构、事务ID、选主和ZAB协议具体执行过程。 服务保证 ZooKeeper 非常快速且非常简单。由于它的目标是构建更复杂的服务(如同步)的基础,因此它提供了一组保证: 【顺序一致性】来自客户端的更新将按发送顺序执行,因为只有唯一的主节点负责写请 ......
集群 ZooKeeper 特点 过程 数据

Hadoop搭建(集群)

HADOOP配置文件 | | core-site.xml | | | | | hadoop.tmp.dir | /opt/hadoop/tmp | | fs.defaultFS | hdfs://master:9000 | | | hdfs-site.xml | | | | | hadoop.nam ......
集群 Hadoop

Springboot+ElasticJob-Lite实现集群任务调度

前言 ElasticJob-Lite是集群环境下应用(比如SpringCloud微服务)任务调度的解决方案。 集群部署的时候,一个定时任务会有多个进程执行,如果不进行任何处理,会导致任务触发的时候每个进程重复执行一次。 解决办法有两种:一种是加锁,保证同时只有一个进程执行任务,比如用分布式锁,或者用 ......

K8s集群搭建问题

警告Cgroup Driver不一致 节点加入集群会警告 docker 和 kubelet 的 Cgroup Driver 不一致,但是暂未发现影响,如图: 解决办法:修改 docker 的 Cgroup Driver 为 systemd vim /etc/docker/daemon.json 加下 ......
集群 问题 K8s K8 8s

在Linux内网搭建K8s集群

前言 本文讲述在Linux内网搭建K8s集群详细步骤,解决搭建过程中的问题。 脚本基本可以不修改直接使用。 准备工作 需要Linux CentOS 7.x 两台及以上,本文用的 7.6。 主机要求有2个核心及以上。 安装步骤多个节点可以并行操作,默认所有操作各节点都要执行,某些操作仅主/工作节点执行 ......
集群 Linux K8s K8 8s

2021-12-30-k8s集群进行删除并添加node节点

layout: post cid: 7 title: k8s集群进行删除并添加node节点 slug: 7 date: 2021/12/30 16:58:32 updated: 2021/12/30 16:58:32 status: publish author: cby categories: 默 ......
节点 集群 2021 node k8s

在Linux搭建Zookeeper集群

前言 本文讲述在多台 Linux 服务器搭建 ZooKeeper 集群的具体步骤,共 4 个节点(1 主 2 从 1 观察者)。 ZooKeeper使用的端口:【2181】对 client 提供服务;【3888】选举 leader;【2888】集群内通讯。 准备工作 ZooKeeper需要1.7及以 ......
集群 Zookeeper Linux

IOS多线程之NSOperation(2)

IOS多线程之NSOperation(2) 最大并发数 open var maxConcurrentOperationCount: Int 并发数就是同时执行的任务数。比如,同时开3个线程执行3个任务,并发数就是3。 但是,并发数是3,并不代表开启的线程数就是3,也有可能是4个或者5个。因为线程有可 ......
线程 NSOperation IOS

IOS多线程之NSOperation(3)

IOS多线程之NSOperation(3) 操作优先级和服务质量 可以通过QueuePriority属性来设置operation在队列中的执行优先级 public enum QueuePriority : Int, @unchecked Sendable { case veryLow = -8 ca ......
线程 NSOperation IOS

pytest多进程运行用例,缩短测试时间

-n 表示多进程执行用例,如下所示‘2'表示2个进程同时执行用例,数值的确定要根据执行机的cpu核数前置条件:安装pytest-xdist 插件,安装命令“pip install pytest-xdist注意:每个进程执行的测试用例是随机的,不可控,所以测试用例要解耦 1 import os 2 3 ......
进程 时间 pytest

在Linux搭建Kafka集群

前言 以kafka_2.13-2.8.0版本做示例,安装架构图如下所示,4台服务器,4个节点的Zookeeper集群(1主2从1观察)以及3个Kafka服务。 准备工作 准备多台服务器来搭建集群环境 Kafka需要Zookeeper做分布式协调,所以得先准备好Zookeeper集群。可以参考 在Li ......
集群 Linux Kafka

在Linux部署Redis主从和哨兵集群实现高可用

前言 本文主要讲述在 Linux 系统中配置和部署 Redis 主从集群和哨兵,实现高可用和自动故障迁移。 准备工作 参考 Redis 单机部署 安装 3 个 Redis 服务作一主二从,本文准备了 6380(主)、6381(从) 和 6382(从)。 参考 Redis 单机部署 安装 3 个 Re ......
主从 哨兵 集群 Linux Redis

在Linux部署Redis Cluster集群

前言 本文讲述在 Linux 系统部署 Redis Cluster 实现数据分片的具体步骤。 请参考 Redis 单机部署 下载编译。 Redis Cluster是什么? Redis Cluster 是官方提供的一种用数据分片来实现横向扩容的解决方案,由一个或多个 Redis 服务组成一个无主集群。 ......
集群 Cluster Linux Redis

在Linux部署Etcd集群

前言 目前解决分布式系统下数据强一致性的主要算法理论是Paxos和Raft,偏向CAP定理一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)中的CP。 Raft在容错和性能方面和Paxos相当,不同之处在于它将问题分解成相对独立 ......
集群 Linux Etcd

Redis——(主从复制、哨兵模式、集群)的部署及搭建

重点: 主从复制:主从复制是高可用redis的基础,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。 哨兵和集群都是在主从复制基础上实现高可用的。 缺点:故障恢复无法自动化,写操作无法负载均衡,存储能力受到单机的限制。 哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复 ......
主从 哨兵 集群 模式 Redis

【转载】解决Nvidia-smi没有进程但是显存不释放的问题

Nvidia显存占用问题 程序已停掉,但是GPU显存无法释放,我们在使用PyTorch写程序的时候, 有时候会在控制台终止掉正在运行的程序,但是有时候程序已经结束了,nvidia-smi 也看到没有程序了,但是GPU的内存并没有释放,这是怎么回事呢? 这是因为使用PyTorch设置多线程进行数据读取 ......
显存 Nvidia-smi 进程 Nvidia 问题

使用jstack排查JVM进程死锁

前言 在Linux系统使用JDK自带的jstack指令分析输出的线程信息排查死锁的详细步骤。 例子程序 下面是一个模拟线程死锁的例子程序,编译(javac DeadLockSample.java)后执行(java DeadLockSample)这个程序来启动一个JVM进程。 其中一个线程会成功获取到 ......
进程 jstack JVM

Docker 下 RedisCluster 分片集群搭建

1. Cluster 分片集群 1.1 Cluster 集群的结构和作用 redis 哨兵模式虽然提供了 redis⾼可⽤、高并发读的解决方案,但是在海量数据应用场景下,仍然存在海量数据存储问题和高并发写的问题。当只有⼀个 Master 对外提供服务时,如果数据量特别⼤,内存占⽤问题严重,数据的高并 ......
集群 RedisCluster Docker

IOS多线程之NSOperation(1)

IOS多线程之NSOperation(1) NSOperation 是 OC 语言中基于 GCD 的面向对象的封装; 提供了一些用 GCD 不好实现的功能; 线程的生命周期由系统自动管理。 NSOperation 需要和 NSOperationQueue 配合使用来实现多线程方案。单独使用 NSOp ......
线程 NSOperation IOS

MySQL AutoIncrement--PXC集群批量插入操作获取自增ID异常问题

问题描述 由于MySQL PXC集群的所有节点均可读写,因此当PXC集群中节点增加和减少时,PXC集群会自动调整集群各节点的自增ID步长,避免不同集群节点生成相同自增ID值产生冲突。 当PXC集群中读节点数量发生变化时,客户端执行BatchInsert方法可能返回错误的自增ID值。 问题原因 由于M ......
集群 AutoIncrement 问题 MySQL PXC

进程间通信方式--匿名管道通信

##管道的特点 管道其实是一个在内核内存中维护的缓冲器,这个缓冲器的存储能力时有限的,不同的操作系统大小不一定相同。 管道拥有文件的特质:读操作、写操作,匿名管道没有文件实体,有名管道由文件实体,但不存储数据。可以按照操作文件的方式对管道进行操作。 一个管道是一个字节流,试用管道时不存在消息或消息边 ......
管道 进程 方式

【Linux内核】Linux内核 - 进程管理

Linux进程管理包括进程调度,中断处理,信号,进程优先级,进程切换,进程状态,进程内存等等。 什么是进程 进程是在处理器上执行的一个实例,进程可使用任意资源以便Linux内核可以处理完成它的任务。在Linux上运行的所有进程都是通过task_struct结构来管理的,被称为进程描述符。一个进程描述 ......
内核 Linux 进程