- 博客(27)
- 收藏
- 关注
原创 Elasticsearch索引恢复
shard 自动分配 已经达到最大重试次数5次,仍然失败了,所以导致"shard的分配状态已经是:no_attempt"。链接:https://github.com/lmenezes/cerebro。如果未分配的分片比较多,建议打开retry_failed=true。推荐一个es web工具,可以帮助我们排查es相关问题。二、尝试重新分配失败的分片。查看es中未分配的分片。一、查看分片失败原因。
2023-09-11 14:44:20 693
原创 自建K8s集群无法通过公网访问解决方案
通过ckube搭建k8s集群时,由于没有指定公网IP,导致签发的apiserver.cert默认可提供给对外访问的是内网IP,不包含宿主机的公网IP,所以直接通过admin.conf中配置宿主机的公网IP去访问kubernetes是不可能的。手动通过kubeadm重新签发apiserver.cert,并在签发时指定宿主机的公网IP,使签发的apiserver.cert可以将宿主机的公网IP提供给外部访问apiserver使用。2、删除当前kubernetes集群下的apiserver的cert和key。
2023-08-01 11:11:29 183
原创 K8S IP迁移流程
静态POD由kubelet管理,yaml文件存放于/etc/kubernetes/manifests/ 目录下 修改此处的api-server和etcd的地址数据。1,将步骤二中备份的数据复制到每个master节点的/tmp目录下 /tmp/snapshot.db。2,修改每个master节点上静态POD(api-server,etcd)的地址信息。5,修改每个worker节点上的lvscare的静态POD 主节点地址。PS:etcd证书更换不需要重启,是动态生效的。1,删除server和peer证书。
2023-08-01 11:01:52 111
原创 k8s本地存储localPV部署方案
Kubernetes直接使用宿主机的本地磁盘目录 ,来持久化存储容器的数据。它的读写性能相比于大多数远程存储来说,要好得多,尤其是SSD盘。部署方案基于sig-storage-local-static-provisioner的local volume方案下载地址:https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/archive/refs/tags/v2.4.0.tar.gz。
2023-08-01 10:52:11 332
原创 数据追踪工具bingo2sql
go版MySQL binlog解析工具● 本地离线解析:指定本地binlog文件和要解析的表结构即可● 远程在线解析:指定远程数据库地址,起止时间范围或binlog范围,可指定库/表和操作类型,GTID/线程号等● 解析服务API:提供HTTP协议方式的解析接口,支持解析和打包下载。
2023-07-31 14:22:40 87
原创 jenkins部署k8s
一、jenkins搭建参考之前的文章:Jenkins搭建二、k8s集群搭建参考之前的文章:k8s集群搭建三、jenkins上配置凭证3.1、配置gitlab凭据3.2、配置kuberntes凭据在master节点cat $HOME/.kube/config四、创建pipeline创建pipeline过程略过,直接贴pipeline脚本#!/bin/sh -ilexdef git_address = "http://gitlab.xx.local/golang/bottle-s
2021-05-14 11:32:56 342
原创 设置Docker的时区
示例使用alpine容器。启动容器docker run -d --name=alpine --network=host alpine:latest sleep 3600更新仓储缓存apk update安装timezone数据包apk add tzdata映射时区文件ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime指定时区echo 'Asia/Shanghai' > /etc/timezone
2021-03-30 10:02:42 161
原创 解决ES数据量过大导致的”Data too large“问题
对线上nginx日志监控,采用的Elasticsearch+Logstash+Grafand架构的模式,本来运行的很正常的,今天上去看的时候,监控图标出现了以下报错:后查阅相关资料,启动es的时候忘记设置堆内存(ES_HEAP_SIZE)导致这种情况。es默认启动是指定堆内存为1G,在生产环境肯定是不能满足的。于是,对ES的堆内存进行重新指定,修改方式如下:打开ES的配置文件目录,找到ES的内存配置文件,文件名如下:打开jvm.optinons将原本默认的 -Xms1g 、-Xms1g两个参数的值进
2020-11-16 16:01:40 10549
原创 go语言实现Alertmanager告警
一、Alertmanager配置配置的详解请看Alertmanager官方文档翻译这里提供一个示例作为参考global:route: group_by: ['alertname'] group_wait: 10s group_interval: 10s repeat_interval: 4m receiver: 'web.hook'templates:- '/usr/local/alertmanager/template/*.tmpl'receivers:- nam
2020-09-07 17:26:01 1560 1
原创 配置elastalert告警(含告警代码)
一、安装安装elastalert和依赖模块$ pip3 install elastalert$ pip3 install "setuptools>=11.3"$ python3 setup.py install重命名配置文件$ cp config.yaml.example config.yaml二、配置文件解析$ cat config.yaml# This is the folder that contains the rule yaml files# Any .yaml fi
2020-09-07 15:34:25 1479
原创 CentOS7下安装字体库文件
一、在Windows下找到自己需要的字体库文件Windows路径:C:\Windows\Fonts二、将Windows下相应的字体库上传到CentOS7的字体库目录下我这里上传了宋体和黑体的字体库。[root@java001 ~]# cd /usr/share/fonts/chinese/[root@java001 chinese]# lssimhei.ttf simsunb.ttf simsun.ttc三、刷新字体库,查看字体库中是否添加了黑体和宋体[root@java001 ch
2020-07-09 10:18:18 992
原创 nginx返回502,报错upstream sent too big header while reading response header from upstream
根据报错我们可以知道,返回502的原因是因为cookie携带的header太大了。那么该怎么去解决这个问题呢?因为我的服务是用nginx做负载均衡,所以只要在转发的配置上添加以下三条配置即可。proxy_buffer_size 128k;proxy_buffers 32 32k;proxy_busy_buffers_size 128k;完整的配置如下: location / { proxy_buffer_size 128k; proxy_buffer
2020-05-13 14:11:25 496
原创 k8s集群添加master节点
前提条件:安装dockers下载sealos下载k8s离线包(v1.14.1,v1.15.0,v1.16.0,v1.17.0)14版本的下载链接找不到了,找到再补。启动docker添加master节点环境:[root@node131 ~]# kubectl get node NAME STATUS ROLES AGE VERSIONcm-serv...
2020-03-13 20:46:58 10221 2
原创 单体Istio部署
前言:北京时间 2020 年 3 月 6 日 凌晨发布了 1.5 版本,该版本最大的变化是将控制平面的所有组件组合成一个单体结构叫 istiod。在 Istio 1.5 中,饱受诟病的 Mixer 终于被废弃了,新版本的 HTTP 遥测默认基于 in-proxy Stats filter,同时可使用 WebAssembly[1] 开发 in-proxy 扩展。更详细的说明请参考 Istio 1...
2020-03-11 10:26:40 599
原创 mysql主从配置跟mycat做读写分离
1、mysql主从设备信息:192.168.162.200 master192.168.162.201 salve配置:master机上#创建新用户create user repl identified by ‘密码’;#给用户赋权限GRANT REPLICATION SLAVE ON . TO ‘repl’@‘从库ip’ IDENTIFIED BY ‘密码’;...
2019-12-06 14:27:19 148
原创 执行kubectl错误The connection to the server localhost:8080 was refused
今天在node上执行kubectl get pod结果出现报错[root@cm-server ~]# kubectl get pod The connection to the server localhost:8080 was refused - did you specify the right host or port?查阅资料后才知道kubectl命令需要使用kubernetes-...
2019-11-27 10:31:13 2243
原创 Elasticsearcha安装及配置jieba分词分析器
一、简介Elastic (官网:https://www.elastic.co) 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用,通过简单的REST api 隐藏了lucene的复杂性,从而让全文搜索变得简单。jieba分词是中文里面比较好的分词器,而当前Ela...
2019-11-21 17:39:24 855
原创 k8s高可用集群搭建及问题处理
k8s高可用集群的搭建,我这里使用sealos来一键安装。sealos的项目地址项目中有具体的介绍,有兴趣的也可以去阅读一下源码,这里就直接安装了。安装前准备:1、安装并启动docker2、下载kubernetes 离线安装包3、下载最新版本sealoswget https://github.com/fanux/sealos/releases/download/v2.0.7/seal...
2019-10-30 14:25:21 708
原创 前端项目时因chunk-vendors过大导致首屏加载太慢的优化
因app首页加载不流畅,于是去检查首页加载项的耗时,最终发现是前端加载时js文件太大,导致首页加载太慢,于是选择了以下方案进行优化。一、安装compression-webpack-plugin插件。前端将文件打包成.gz文件,然后通过nginx的配置,让浏览器直接解析.gz文件,可以大大提升文件加载的速度。1.npm使用下面命令安装npm install --save-dev compres...
2019-10-25 14:32:14 28640 1
原创 maven中设置私仓和sonar检测
一、网上普遍使用的maven私仓配置方法1.找到{MAVEN_HOME}\conf\settings.xml2.在Servers节点下添加用户验证<server> <id>nexus</id> <username>admin</username> <password>admin</passw...
2019-10-23 10:41:42 230
原创 阿里云RDS和本地mysql做主从同步
一、从RDS备份要同步的数据库到本地服务器建议将表结构和数据分开备份。[root@localhost ~]# mysqldump -hrm-wz9a985njgong7yh5.mysql.rds.aliyuncs.com -ujiangyicheng -p --opt -d article > /root/article_opt.sql[root@localhost ~]# mysql...
2019-09-27 17:51:20 2345
原创 CentOS7安装指定版本的docker
一、配置docker的yum源cd /etc/yum.repos.d/wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum clean allyum makecache二、查看可用的docker的版本[root@localhost ~]# yum list docker-ce --showdu...
2019-08-16 11:32:52 286
原创 mysql报错Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE)
测试人员在测试时输入emoji表情时出现报错,查看日志看到是查询一个sql时报错Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE)。这是数据库编码问题,进入数据库查看数据库的编码。一、查看当前数据库的编码mysql> SHOW VARIABLES WHERE Va...
2019-08-12 17:41:33 4364
原创 CentOS7救援模式修改密码
今天测试环境被人修改了root密码,所以要强制修改root密码,在此记录一下修改密码的过程和遇到的问题。1.开机之后在选择操作系统页面按e,然后编辑选项2.在linux16这一行,将红框内的内容改成rw rd.break然后按下Ctrl+x,进入密码修改。3.进入到系统的紧急求援模式执行以下命令修改root密码。# chroot /sysroot //进入系统的根目录# ech...
2019-05-20 22:36:07 2377
原创 Jenkins+gitlab+maven持续集成部署
1、安装jenkins到官网下载jenkis的rmp包,官网地址(https://pkg.jenkins.io/redhat-stable/)1 wget https://pkg.jenkins.io/redhat-stable/jenkins-2.121.1-1.1.noarch.rpm2 rpm -ivh jenkins-2.121.1-1.1.noarch.rpm修改jenkins...
2019-03-25 10:48:43 277
原创 CentOS7使用timedatectl设置系统时间
1、首先来看一下timedatectl的帮助。[root@admin ~]# timedatectl --helptimedatectl [OPTIONS…] COMMAND …Query or change system time and date settings.-h --help Show this help message–version ...
2019-03-10 17:46:51 674
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人