自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 pull镜像报错:Error Standard_init_linux.go:219: exec user process caused: no such file or directory

问题描述启动pod,pull image 时报错,错误信息如下:Error Standard_init_linux.go:219: exec user process caused: no such file or directory分析从问题表象,初步判断是打镜像时,引入的二次进文件格式问题,后面查了下,go build 时要指定 CGO_ENABLE参数# 有问题的 build 命令go build CGO_ENABLED=1 GOOS=linux GOARCH=amd64 -mod=ve

2021-09-03 11:32:15 1207 1

原创 k8s常用命令

kubectl --patchkubectl -n cattle-system patch deployments cattle-cluster-agent \--patch '{"spec": {"template": {"spec": {"hostAliases": [{"hostnames": \["rancher-dev.com"], "ip": "192.168.15.1"}]}}}}'

2021-07-20 09:26:28 322

原创 ubuntu20.04 手动部署 rancher-v2.5.8 异常处理

背景:按照官方文档用容器方式手动部署 rancher,curl 访问 rancher 服务,报 curl: (56) Recv failure: 连接被对方重设root@work01:~# curl http://localhost:80curl: (56) Recv failure: 连接被对方重设操作系统: ubuntu20.04docker 版本: 20.10.7rancher 官方文档连接:https://docs.rancher.cn/docs/rancher2.5/quick-st

2021-07-06 17:17:29 1576

原创 ubuntu20.04 安装 python3.9

apt-get update && apt-get upgrage -y && apt-get dist-upgrade -yapt-get install python3.9 -yls -s /usr/bin/python3.9 /usr/bin/pythonpython -V // 当前 python 版本

2021-07-06 10:15:15 846

原创 docker常用命令

容器操作docker ps // 查看所有正在运行的容器docker ps -a // 查看所有容器docker ps -a -q // 查看所有容器ID# docker stop [containerID] // containerID 是容器IDdocker stop $(docker ps -a -q) // 停止所有正在运行的容器docker rm $(docker ps -a -q) // 删除所有正在运行的容器...

2021-07-06 09:49:51 51

原创 使用CURL通过POST请求访问API Server接口

curl -X POST -H `Content-Type: application/json;charset=utf-8` --cert ./client.crt --cacert ./ca.crt --key ./client.key https://xx.xx.xx.xx:6443/api/v1/namespaces/default/pods [email protected]

2021-06-22 17:21:57 542

原创 golang slice 是 struct 类型,作为参数传递时要传地址

总结:slice 为结构体类型,go 传参都是值传递,跨函数传递 slice 时,要传变量的地址,不能直接传递变量值,因为除了 len 会变,遇到扩容时,还会新建底层数组。先看下 slice 的定义type slice struct { array unsafe.Pointer len int cap int}slice 是一个 struct,包含 array,len,cap 三个属性,其中 array 为 unsafe.Pointer 类型,且是 struct 的第一个属性,所以

2021-02-25 12:13:25 992

原创 golang 求int i 和 int j 的中间值

要注意的地方溢出错误平常最常见的的写法应该是 (i+j)/2,注意这里有一个坑,因为 i 和 j 都是 int 类型,他们相加会有溢出风险最优性能位移运算比加减乘除性能更优,能用位运算时,要优先使用位运算func Median1(i, j int) int{ //不严谨,有溢出风险 m := (i + j)/2 return m}func Median2(i, j int) int{ m := int(uint(i + j)/2) return m}func Median3(

2021-02-05 17:40:15 225

原创 k8s pod 报 no route to host

k8s 网络异常排错步骤前言首先要有信心解决 k8s 的网络问题,k8s 的网络是通过 iptables、ipvs、ipset 或者 ebpf 等 linux 技术实现的,k8s 借助这些工具创建各种数据包转发规则,通过这些规则控制数据流转逻辑从而实现 k8s 网络,在排查网络问题之前先梳理网络拓扑,再弄清楚数据的流转过程,最后追踪数据是在哪个环节丢失,遇到问题不要慌,按照流程逐步分析定位问题,可以避免少踩坑,我通常安装下面的步骤排查网络问题。1、先确定物理网络是否OK不要一上来就抓包、检查 ipv

2021-01-29 14:26:44 4788

原创 linux 环境安装多版本 golang 环境

安装多版本 golang 环境将golang 解压到安装在这里插入图片描述目录多版本 golang 切换命令go 环境变量配置设置 golang 版本将golang 解压到安装在这里插入图片描述目录mkdir -p /usr/local/lib/go1.14.14mkdir -p /usr/local/lib/go1.13.15mkdir -p /usr/local/lib/go1.15.7tar zxf go1.14.14.linux-amd64.tar.gz -C /usr/local/lib

2021-01-21 18:21:40 3292

转载 k8s 删除 namespace 一直处于 Terminating 状态

k8s 删除 namespace 一直处于 Terminating 状态出现无法删除的情况,是因为kubelet 阻塞,有其他的资源在使用该namespace,比如CRD等,尝试重启kubelet,再删除该namespace 也不好使。在尝试以下命令强制删除也不好使:kubectl delete ns <terminating-namespace> --force --grace-period=0解决:1.运行以下命令以查看处于“Terminating”状态的namesp.

2020-12-08 15:20:10 1403 3

原创 在 windows 环境搭建 grafana 二次开发环境

在 windows 环境搭建 grafana 二次开发环境版本go1.14.8GoLand 2020.2.2grafana-v7.1.5node-v12.18.3-win-x64node-sass版本win32-x64-72_binding.nodegcc版本mingw64配置环境变量D:\gcc\mingw64\bin 加入 PATHD:\node.js\node-v12.18.3-win-x64 加入 PATH说明:D:\GoWorkspace\src\grafana\gra

2020-09-11 19:54:54 1338

原创 2020-08-21

验证 net.ipv4.tcp_timestamps 参数生效1、设置参数echo "net.ipv4.tcp_timestamps = 1" >> /etc/sysctl.conf ; sysctl -p# 校验sysctl -a | grep -i 'net.ipv4.tcp_timestamps'2、tcpdump 抓包tcpdump -i ens33 -nnvv tcp port 22 and host 192.168.8.133如下图,每个包都会带有时间戳信息(红框

2020-08-21 16:48:49 319

原创 2020-08-20

linux 常用的网络命令htop 查看进程nload 观察网卡进出口流量,左右键切换网卡iftopnethogs 按进程查看流量情况ss 连接查看工具dstat -nf 查看cpu 磁盘 网卡负载情况 free 查看内存iostat 查看磁盘io情况netstat -nltp tcpdump -i eth0 -nnvveX host hostname and port 22 echo "net.ipv4.tcp_timestamps = 0" >> /etc/sysct

2020-08-20 21:06:22 89

原创 2020-08-14

systemd Restart 策略的坑有a.service 和 b.service 两个服务配置如下# a.service[Unit]Description=a serviceDocumentation=https://ab.com[Service]ExecStart=a.shRestart=alwaysRestartSec=5StartLimitInterval=0[Install]WantedBy=multi-user.target# b.service 配置[Unit]

2020-08-14 20:58:13 72

原创 2020-08-14

kubenetes 日志级别例如:启动kubelet时 配置如下参数kubelet --v 4 //系统默认值也是4,对应关系如下,根据需要配置0: Emergency 1: Alert 2: Critical 3: Error 4: Warning 5: Notice 6: Informational 7: Debug

2020-08-14 19:58:17 80

原创 git 常用命令

从远程仓库拉取指定分支 # 1. 指定远程仓库 git remote add origin https://github.com/istio/istio.git # 2. 用 fetch 指定要pull 的远程版本 git fetch origin release-1.5 # 3. 创建本地分支并切换到该分支 git checkout -b my-release-1.5 # 4. 拉取远程仓库的分支或者版本到本地分支 git pull origin release-1.5 or git

2020-05-09 20:48:47 99

原创 面试题 生成有效的括号序列(递归 回溯)

题目描述字符串生成:有效的括号为只包括’{’,’}’,’[’,’]’ 的字符串,给定一个输入参数N,N表括号的对数,输出所有有效的字符串序列有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。样例1: 输入:N=1,输出:["[]","{}"]样例3: 输入:N=2,输出:["[[]]","[{}]","[][]","[]{}","{}[]","{}{}",...

2020-05-04 10:05:37 463

原创 golang 1.13 mod 模式实现B项目引用本地A项目的包

A 项目 mod 文件内容module test.com/gotestgo 1.13B项目 mod 文件内容module test.iogo 1.13require test.com/gotest v0.0.0-incompatiblereplace test.com/gotest => ../test/gotestB项目引入A项目包package main...

2020-05-03 16:30:19 808

原创 面试题 请使用Shell脚本实现一个程序,统计一个文本文件login.txt中每个用户登录的次数,并且按用户次数从大至小排序

请使用Shell脚本实现一个程序,统计一个文本文件login.txt中每个用户登录的次数,并且按用户次数从大至小排序样例输入:login.txtuserA 2020-02-01 08:00:00 loginuserB 2020-02-01 08:01:00 loginuserC 2020-02-01 08:02:00 loginuserA 2020-02-01 08:03:00 logo...

2020-05-02 11:39:48 662

原创 搭建 Serverless 平台

serverless目标:1、跨区域多集群2、开发一套运营支撑系统,打通CICD流程3、业务可以自由将应用部署到多套集群4、单集群内支持多运行时和微服务治理能力5、建设专门的网络、存储、运营团队...

2020-04-10 16:36:49 1464

原创 生产环境建议为 flannel 和 kube-apisever 分别配置 etcd 集群

由于以二进制方式部署的flannel是以etcdv2的方式访问etcd,而k8s的kube-apiserver是以etcdv3的方式访问etcd,在这种情况下,如果让他们都访问同一个etcd集群,正常情况下存、取数据都没问题,用etcdctl snapshot save 备份数据也没问题,但是在恢复数据时,etcdv2写入的数据会丢失,这是因为etcd v2和v3 的数据结构和实现逻辑完全不同导致...

2019-12-25 17:58:42 390

原创 kubernetes-v1.16.0 源码分析之scheduler

调度逻辑预选节点(predicate)的并发数为 min(16,allNodes)filename pkg\scheduler\core\generic_scheduler.go:464func (g *genericScheduler) findNodesThatFit(pluginContext *framework.PluginContext, pod *v1.Pod) ([]*...

2019-11-14 17:12:35 159

原创 快速将大数据(超过1T)导入mysql库

1、源数据超过1T,且都是sql文件,文件大小不等,有的文件大于100G2、硬件环境:一台liunx服务器,8核32G+5块1T的磁盘(a,b,c,d,e单块磁盘最大写入速度30M/S)3、mysql版本为5.64、要求:24小时内将数据全部导入问题分析:      考虑到导入过程中还会生成操作日志和索引等类容,数据导入后所需的存储空间将远大于1T, 单独一块磁盘肯定无法满足需...

2018-12-23 16:04:26 5462

原创 kafka适用哪些离线同步场景

一、源端为大量小文件,合并为一个大文件存储到hdfs      a)为什么要把小文件合并为大文件大量的小文件同步到hdfs,对namenode的压力非常大,生成环境是不会允许如此使用集群的。       b)为什么选kafkaproducer可以将文件内容转成消息发送到topic,相当于在数据传输过程对小文件进行了合并       c)consumer将消息直接写到hdfs还是...

2018-08-01 17:25:28 1881

原创 idea远程调试namenode

1、在hadoop-env.sh增加如下配置#hadoop远程debug配置#远程调试NameNodeexport HADOOP_NAMENODE_OPTS="-agentlib:jdwp=transport=dt_socket,address=8888,server=y,suspend=y"#远程调试DataNode#export HADOOP_DataNode_OPTS="-agent...

2018-04-20 10:42:24 654

原创 Hbase 1.2 HA配置

在网上看到很多博客都说要配置backup-masters,实际上是不用配置的。1、配置Hbase集群使用自带的zookeeper还是另外的zookeeper集群,我使用的是自己单独搭建的zookeeper集群,配置如下hbase-env.sh# Tell HBase whether it should manage it's own instance of Zookeeper or not.e...

2018-04-03 21:04:27 259

原创 hive 启动metastore服务自动建表报Specified key was too long; max key length is 767 bytes

查看/tmp/${user}/hivemetastore.log日志,发现报错的表的create语句的主键字段的长度为256,从报错提示来看,就是说主键太长了,查看hivemeta库的其他表的字符类型,发现为UTF-8,这就很明白了,为什么报错?因为256*3=768>767。查询其他资料,把数据库的字符集改为latin1可以解决问,我这次是初始化,meta库还没有数据,用下面的方

2018-03-30 11:51:44 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除