- 博客(511)
- 资源 (1)
- 收藏
- 关注
转载 Redis高可用架构—Redis集群(Redis Cluster)详细介绍
Redis集群是一个提供在多个Redis节点之间共享数据的程序集。它并不像Redis主从复制模式那样只提供一个master节点提供写服务,而是会提供多个master节点提供写服务,每个master节点中存储的数据都不一样,这些数据通过数据分片的方式被自动分割到不同的master节点上。为了保证集群的高可用,每个master节点下面还需要添加至少1个slave节点,这样当某个master节点发生故障后,可以从它的slave节点中选举一个作为新的master节点继续提供服务。
2022-11-03 09:20:19
405
1
转载 Clickhouse安装部署
Atomic 中的所有表都有持久的 UUID,数据存储在/clickhouse_path/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/ 路径下。执行DROP TABLE 命令,不会删除任何数据,Atomic 数据库只是通过将元数据移动到 /clickhouse_path/metadata_dropped/,并将表标记为已删除,并通知 DatabaseCatalog。指令集,因此,除非另有说明,支持它的CPU使用将成为额外的系统需求。
2022-11-02 11:32:49
9855
1
转载 python并发编程之多进程
python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。
2022-10-30 21:03:51
466
翻译 ClickHouse—用户权限控制
ClickHouse使用Role-Based Access Control(RBAC),进行用户权限管理。用户()角色(Role)权限策略(Row Policy)配置文件()资源配额(Quota)可以通过两种方式对ClickHouse进行权限控制。类似于MySQL的SQL驱动权限控制(SQL-driven workflow)该方法默认关闭,需要开启(具体操作请看下文)SQL-driven workflow方式在20.1.2.4版本才开始支持通过配置文件进行权限控制(users.xml。
2022-10-28 10:47:02
3674
转载 Kubernetes(k8s)ConfigMap详解及应用
ConfigMap是k8s的一个配置管理组件,可以将配置以key-value的形式传递,通常用来保存不需要加密的配置信息,加密信息则需用到Secret,主要用来应对以下场景:使用k8s部署应用,当你将应用配置写进代码中,就会存在一个问题,更新配置时也需要打包镜像,ConfigMap可以将配置信息和docker镜像解耦。使用微服务架构的话,存在多个服务共用配置的情况,如果每个服务中单独一份配置的话,那么更新配置就很麻烦,使用ConfigMap可以友好的进行配置共享。
2022-10-28 10:23:57
4633
转载 Kubernetes 污点与容忍
要搞清楚什么是污点?什么是容忍度?污点 Taint容忍度TolerationTaint(污点)和 Toleration(容忍)可以作用于node和 pod 上(),其目的是优化pod在集群间的调度,这跟节点亲和性类似,只不过它们作用的方式相反,具有Taint的node和pod是互斥关系,而具有节点亲和性关系的node和pod是相吸的。另外还有可以给node节点设置label,通过给pod设置nodeSelector将pod调度到具有匹配标签的节点上。
2022-10-24 09:31:30
247
原创 k8s的imagePullSecrets如何生成及使用
注意:如果您使用Docker凭据存储,您将看不到该auth条目,而是看到一个以存储名称为值的credsstore条目。登录过程创建或更新一个包含授权令牌的config.json文件。公司的docker仓库(harbor),是私有的,需要用户认证之后,才能拉取镜像。/root/.docker/config.json 表示docker认证文件,注意:出现这个报错,是由于harbor为了安全性考虑,默认是需要。修改 /etc/docker/daemon.json 文件。注意:主要修改红色部分。
2022-10-24 09:21:10
732
转载 企业级仓库Harbor高可用方案
Harbor 是 VMware公司开源的企业级 Docker Registry 项目,其日标是帮助用户迅速搭建一个企业级的 Docker Registry 仓库服务。它以Docker公司开源的Registr为基础,提供了管理UI。基于角色的访问控制(Role Based AcessControl、AD/LDAP集成、以及审计日志(Audtloging)等企业用户需求的功能。通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源DockerDistrbution。
2022-09-26 16:10:31
2522
转载 监控MySQL运行状态:MySQLD Exporter
通常来说从内存中读取数据的速度要比从磁盘中读取快很多,因此,如果Innodb_buffer_pool_reads的值开始增加,可能意味着数据库的性能有问题。因此,应该关注MySQL缓冲池的资源使用情况,并且在合理的时间扩大缓冲池的大小可以优化数据库的性能。通过Global Status中的Threads_connected、Aborted_connects、Connection_errors_max_connections以及Threads_running可以查看当前MySQL实例的连接情况。
2022-09-25 21:04:26
1610
转载 部署skyWalking
以下安装所需要的安装包和示例配置文件链接:https://pan.baidu.com/s/1qqzqcrMYALZ-4J9qDVpdVA?pwd=6hkz提取码:6hkz。
2022-09-25 14:14:28
2445
转载 Apollo配置中心搭建和使用教程
工作中使用的是apollo配置中心,平时学习也需要使用到,因此自己搭建一套,方便平时在家学习使用。搭建过程遇到了一些坑,也记录下。
2022-09-23 21:20:38
1668
转载 HBase内存配置及JVM优化
本文从HBase的内存布局说起,先充分了解HBase的内存区的使用与分配,随后给出了不同业务场景下的读写内存分配规划,并指导如何分析业务的内存使用情况,以及在使用当中写内存Memstore及读内存扩展bucketcache的一些注意事项,最后为了保障群集的稳定性减少和降低GC对于集群稳定性的影响,研究及分享了一些关于HBase JVM配置的一些关键参数机器作用和范例,希望这些不断充实的经验能确保HBase集群的稳定性能更上一个台阶,大家有任何的想法和建议也欢迎一起讨论。
2022-09-23 14:53:19
2286
原创 Yarn-NodeManager堆内存不足导致Container被杀
默认物理内存是1GB,动态申请到了2.5GB,其中使用了695.6 MB。物理内存╳2.1=虚拟内存,2.5GB╳2.1≈5.3GB ,5.3GB虚拟内存中使用了4.0GB,当虚拟内存不够时候,NM的container就会自杀,这里虽然没耗尽,但也自杀了。所以有两个解决方案,或调整yarn.nodemanager.vmem-pmem-ratio值大点,或yarn.nodemanager.vmem-check-enabled=false,关闭虚拟内存检查。分配给AM单个容器可申请的最大内存,默认8192M,
2022-09-23 14:25:48
466
原创 p12(PKCS12)和jks互相转换
pkcs1公钥(-----BEGIN RSA PUBLIC KEY-----)转pkcs8公钥。检验私钥和公钥是否为同一套, 可以通过查看 modulus。去除pem格式的key的密码(输出的密码不输入即可)合并pem格式输出pfx(p12)指定intermedian和CA。pkcs8私钥转私钥pem。从jks里面导出cert。p12 文件导出公钥私钥。将cert导入jks。pfx转回私钥pem。cert转公钥pem。
2022-09-22 22:40:39
2274
转载 HDFS 集成 Kerberos
本文主要记录 CDH Hadoop 集群上配置 HDFS 集成 Kerberos 的过程,包括 Kerberos 的安装和 Hadoop 相关配置修改说明。注意:下面第一、二部分内容,摘抄自《》,主要是为了对 Hadoop 的认证机制和 Kerberos 认证协议做个简单介绍。
2022-09-20 15:22:16
2609
1
原创 K8s-helm3安装和使用
详情请见:(官方文档:https:#helm.sh/zh/docs/intro/install/)本k8s集群为1.23.1,对应helm版本为3.8.x版本,详细版本对应见官方文档;注:因内网环境下无法正常添加官方仓库地址,所以此次helm使用私有仓库部署。此次在容器的运行方案的基础之上采用k8s集群搭建本地helm仓库。2、本地chartmuseum私有仓库搭建。采用二进制安装方式:离线安装方式。1、docker容器运行方案。
2022-09-18 22:27:21
1946
原创 【无标题】
我在写的过程汇总碰到过几次ssl的问题,后来就没了。打开vscode ,新建一个 python文件。然后看websocket-client包怎么用。本次数据比较简单,如何抓取看这个就行了。或者自己去pip官网下载。
2022-08-15 11:14:41
113
转载 20、模块
在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能。如果把开发程序比喻成制造一台电脑,编写模块就像是在制造电脑的零部件,准备好零部件后,剩下的工作就是按照逻辑把它们组装到一起。将程序模块化会使得程序的组织结构清晰,维护起来更加方便。比起直接开发一个完整的程序,单独开发一个小的模块也会更加简单,并且程序中的模块与电脑中的零部件稍微不同的是:程序中的模块可以被重复使用。所以总结下来,使用模块既保证了代码的重用性,又增强了程序的结构性和可维护性。
2022-07-03 21:45:22
79
转载 21、包
随着模块数目的增多,把所有模块不加区分地放到一起也是极不合理的,于是Python为我们提供了一种把模块组织到一起的方法,即创建一个包。包就是一个含有__init__.py文件的文件夹,文件夹内可以组织子模块或子包,例如需要强调的是接下来我们就以包pool为例来介绍包的使用,包内各文件内容如下二 包的使用2.1 导入包与__init__.py包属于模块的一种,因而包以及包内的模块均是用来被导入使用的,而绝非被直接执行,首次导入包(如import pool)同样会做三件事:1、执行包下
2022-07-03 20:18:42
86
转载 22、软件开发的目录规范
为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下简要解释一下: • core/: 存放业务逻辑相关代码 • api/: 存放接口文件,接口主要用于为业务逻辑提供数据操作。 • db/: 存放操作数据库相关文件,主要用于与数据库交互 • lib/: 存放程序中常用的自定义模块 • conf/: 存放配置文件 • run.py: 程序的启动文件,一般放在项目的
2022-07-03 20:12:30
204
转载 30、异常处理
异常是程序发生错误的信号。程序一旦出现错误,便会产生一个异常,若程序中没有处理它,就会抛出该异常,程序的运行也随之终止。在Python中,错误触发的异常如下而错误分成两种,一种是语法上的错误SyntaxError,这种错误应该在程序运行前就修改正确另一类就是逻辑错误,常见的逻辑错误如为了保证程序的容错性与可靠性,即在遇到错误时有相应的处理机制不会任由程序崩溃掉,我们需要对异常进行处理,处理的基本形式为 本来程序一旦出现异常就整体结束掉了,有了异常处理以后,在被检测的代码块出现异常时,
2022-07-03 19:26:14
103
转载 29、元类
什么是元类呢?一切源自于一句话:python中一切皆为对象。让我们先定义一个类,然后逐步分析所有的对象都是实例化或者说调用类而得到的(调用类的过程称为类的实例化),比如对象t1是调用类StanfordTeacher得到的如果一切皆为对象,那么类StanfordTeacher本质也是一个对象,既然所有的对象都是调用类得到的,那么StanfordTeacher必然也是调用了一个类得到的,这个类称为元类于是我们可以推导出===>产生StanfordTeacher的过程一定发生了:StanfordTea
2022-07-03 19:19:27
60
转载 28、反射、内置方法
python是动态语言,而反射(reflection)机制被视为动态语言的关键。反射机制指的是在程序的运行状态中对于任意一个类,都可以知道这个类的所有属性和方法;对于任意一个对象,都能够调用他的任意方法和属性。这种动态获取程序信息以及动态调用对象的功能称为反射机制。在python中实现反射非常简单,在程序运行过程中,如果我们获取一个不知道存有何种属性的对象,若想操作其内部属性,可以先通过内置函数dir来获取任意一个类或者对象的属性列表,列表中全为字符串格式接下来就是想办法通过字符串来操作对象的属性了,
2022-07-03 14:16:02
55
转载 23、面向对象编程
所有的程序都是由”数据”与“功能“组成,因而编写程序的本质就是定义出一系列的数据,然后定义出一系列的功能来对数据进行操作。在学习”对象“之前,程序中的数据与功能是分离开的,如下在学习了“对象”之后,我们就有了一个容器,该容器可以盛放数据与功能,所以我们可以说:对象是把数据与功能整合到一起的产物,或者说”对象“就是一个盛放数据与功能的容器/箱子/盒子。如果把”数据“比喻为”睫毛膏“、”眼影“、”唇彩“等化妆所需要的原材料;把”功能“比喻为眼线笔、眉笔等化妆所需要的工具,那么”对象“就是一个彩妆盒,彩妆盒
2022-07-02 22:22:31
59
转载 27、绑定方法与非绑定方法
类中定义的函数分为两大类:绑定方法和非绑定方法 其中绑定方法又分为绑定到对象的对象方法和绑定到类的类方法。 在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定到了类。 我们在之前的章节中已经介绍过对象方法了,本节我们主要介绍类方法。类方法通常用来在__init__的基础上提供额外的初始化实例的方式绑定到类的方法就是专门给类用的,但其实对象也可以调用,只不过自动传入的第一个参数仍然是类,也就是说这种调用是没有意义的,并且容易引起混淆,这也是P
2022-07-02 19:12:15
84
转载 26、多态性与鸭子类型
多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪多态性指的是可以在不用考虑对象具体类型的情况下而直接使用对象,这就需要在设计时,把对象的使用方法统一成一种:例如cat、dog、pig都是动物,但凡是动物肯定有talk方法,于是我们可以不用考虑它们三者的具体是什么类型的动物,而直接使用更进一步,我们可以定义一个统一的接口来使用Python中一切皆对象,本身就支持多态性多态性的好处在于增强了程序的灵活性和可扩展性,比如通过继承Animal类创建了一个新的类,实例化得到的对象o
2022-06-30 22:27:34
101
转载 25、继承与派生
继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类通过类的内置属性__bases__可以查看类继承的所有父类在Python2中有经典类与新式类之分,没有显式地继承object类的类,以及该类的子类,都是经典类,显式地继承object的类,以及该类的子类,都是新式类。而在Python3中,即使没有显式地继承object,也会默认继承该类,如下因而在Python3中统一都是新式类,关于经典类与新式类的区别,我们稍后讨论
2022-06-30 20:53:25
121
翻译 24、封装
面向对象编程有三大特性:封装、继承、多态,其中最重要的一个特性就是封装。封装指的就是把数据与功能都整合到一起,听起来是不是很熟悉,没错,我们之前所说的”整合“二字其实就是封装的通俗说法。除此之外,针对封装到对象或者类中的属性,我们还可以严格控制对它们的访问,分两步实现:隐藏与开放接口Python的Class机制采用双下划线开头的方式将属性隐藏起来(设置成私有的),但其实这仅仅只是一种变形操作,类中所有双下滑线开头的属性都会在类定义阶段、检测语法时自动变成“_类名__属性名”的形式:这种变形需要注意
2022-06-30 08:49:10
47
原创 Canal1.1.5最新版安装部署及详细配置
版本根据情况自行调整,最新版本参考:https://github.com/alibaba/canal/releasescanal角色canal-admin:canal控制台,可以统一管理canal服务canal-deployer:也是canal-server:canal的一个节点服务canal-instance: canal-server中的一个处理实例,可以处理不同的业务逻辑。安装canal-admin#进入安装包cd /opt/canal #下载admin安装包wget h.
2022-05-12 22:37:19
1494
原创 hbase压测
hbase压测,通过自带集成的工具PerformanceEvaluation的全名org.apache.hadoop.hbase.PerformanceEvaluation,可以在有命令行都服务上hbase pe执行参考链接:HBase——PerformanceEvaluation(压测工具) - 曹伟雄 - 博客园随机写压测 hbase pe --table=randomwriteTest --nomapred --oneCon=true --valueSize=100 --c.
2022-05-12 21:40:37
837
原创 Prometheus黑盒监测之blackbox_exporter
1 什么是黑盒监控我们监控主机的资源用量、容器的运行状态、数据库中间件的运行数据。这些都是支持业务和服务的基础设施,通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,从而对潜在的不确定因素进行优化。而从完整的监控逻辑的角度,除了大量的应用白盒监控以外,还应该添加适当的黑盒监控。黑盒监控即以用户的身份测试服务的外部可见性,常见的黑盒监控包括HTTP探针、TCP探针等用于检测站点或者服务的可访问性,以及访问效率等。黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为
2022-04-25 20:23:55
8708
原创 alertmanager配置文件详解
global: # 经过此时间后,如果尚未更新告警,则将告警声明为已恢复。(即prometheus没有向alertmanager发送告警了) resolve_timeout: 5m # 配置发送邮件信息 smtp_smarthost: 'smtp.qq.com:465' smtp_from: '742899387@qq.com' smtp_auth_username: '742899387@qq.com' smtp_auth_password: 'password' smt.
2022-02-28 22:28:55
2617
转载 深入Alertmanager 概念与配置介绍
目录【1】Alertmanager工作机制 【2】AlertManager的三个概念 分组(Grouping) 抑制(Inhibition) 静默(Silences) 【3】安装Alertmanager 【3.1】二进制安装 【3.2】Alertmanager 参数 【4】Alertmanager配置详解 【4.1】案例演示 【4.2】route 路由匹配规则 【4.3】receiver 接收器 【4.4】inhibit_rules 抑制器 【5】警报.
2022-02-27 14:05:56
1289
转载 【ELK】elastalert 日志告警
1、环境系统:centos7elk 版本:7.6.21.1 ElastAlert 工做原理周期性的查询Elastsearch而且将数据传递给规则类型,规则类型定义了须要查询哪些数据。php当一个规则匹配触发,就会给到一个或者多个的告警,这些告警具体会根据规则的配置来选择告警途径,就是告警行为,好比邮件、钉钉、tg、slack、企业微信等htmlElastAlert 手册python2、安装配置 elastalertTips:Elastalert 0.2.0 以后使用 Pyth
2022-02-20 18:37:41
5529
原创 openldap
一、安装配置yum1、如redhat带有原yum源,且不能使用,删除原有yumrpm -aq|grep yum|xargs rpm -e --nodeps2、 下载并安装yum文件(从网易源下载相关文件http://mirrors.163.com/centos...)wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpmwget http://mirrors.
2022-02-05 19:33:07
1764
转载 阿里Canal实时同步MySQL数据到ES等其他存储的开源神器
我们在做网站的搜索功能时需要用到检索数据,而从数据库中来查找效率是很低,而且不现实的。通常对检索支持比较好的就是Elasticsearch或HBase等存储,但是前期的数据都存在mysql数据库中,那么怎么一直实时数据同步到es中,而又不影响现有业务。阿里开源神器canal可以解决这个问题,它可以把MySQL中的数据实时同步到Elasticsearch、HBase等数据存储中。简介canal简单说就是对MySQL的增量数据进行实时同步到MySQL、Elasticsearch、HBase等数据存储
2022-02-03 14:10:02
2588
转载 Kubectl 常用命令大全
Kubectl 常用参数分类基础命令:create,delete,get,run,expose,set,explain,edit# 创建Deployment和Service资源$ kubectl create -f demo-deployment.yaml$ kubectl create -f demo-service.yaml# 根据yaml文件删除对应的资源,但是yaml文件并不会被删除,这样更加高效$ kubectl delete -f demo-deployment.yaml$
2022-01-31 16:33:29
554
转载 SpringBoot2.0 Actuator 监控参数说明
基于SpringBoot2.0+ Actuator metrics的监控(基于Oracle JDK9,G1)引言SpringBoot2在spring-boot-actuator中引入了micrometer,对1.x的metrics进行了重构,另外支持对接的监控系统也更加丰富(Atlas、Datadog、Ganglia、Graphite、Influx、JMX、NewRelic、Prometheus、SignalFx、StatsD、Wavefront)。本文以Prometheus为例阐述SpringBo
2022-01-27 15:25:53
2331
转载 Kubernetes 性能的 Prometheus Operator 指标
1. Kubernetes 资源相关1.1 CPUThrottlingHigh关于 CPU 的 limit 合理性指标。查出最近5分钟,超过25%的 CPU 执行周期受到限制的容器。表达式:sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace)/sum(increase(container_cpu_cfs_periods_total..
2022-01-25 17:06:25
2118
转载 ElasticSearch-磁盘空间不够引起的问题
es 6.2.4版本logstash跑了一阵子之后不再同步数据了,日志信息如下:[2019-06-19T10:30:28,379][INFO ][logstash.outputs.elasticsearch] retrying failed action with response code: 403 ({"type"=>"cluster_block_exception", "reason"=>"blocked by: [FORBIDDEN/12/index read-only /
2022-01-25 11:17:25
2978
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人