• 喜大普奔:Spark on kubernetes

    1 Spark on Kubernetes 2 Goals 3 设计思路 3.1 cluster & client 3.2 反压 3.3 依赖文件存储 3.4 动态资源分配 3.5 k8s配置项 4 跑下试试 1 Spark on Kubernetes 两个星期前(08/15/2017),spark社区提了一个新的SPIP(Spark Project Improvement Propos...


  • centos7的日志系统:journald, rsyslog, logrotate

    1 日志系统 2 systemd-journald 2.1 journalctl查看日志 2.2 journald存储 3 journald日志固化:rsyslog 4 rsyslog文件轮转:logrotate 5 centos7.2的bug 1 日志系统 centos7使用systemd-journald做日志中心库,使用rsyslog来持久化日志,使用logrotate来轮转日志文件。 2 systemd-journa...


  • docker login遇到authentication required

    在使用harbor做docker registry时,如果客户端是centos7.2,其docker版本为1.10.3,在docker login成功之后docker push,会概率遇到”unauthorized: authentication required”错误。 这可能是centos版本docker的bug,复现方法是docker login时指定user、passwd,但不输入email。centos自己维护了一份docker rpm。 解决办法是docker login时指定ema...


  • 让LVS更持久

    ipvsadm设置timeout keepalived设置lvs_timeouts persistence_timeout的用途 老化与重刷 应如何取值 今天遇到了一个问题,客户端psql在连接Greenplum时,静置一段时间后(大约15分钟),随便敲一条select * from xxx,psql没返回结果,而是返回了个提示信息: psql: server closed the connection unexpectedly This probably means t...


  • kubernetes flannel代码解析

    1 VXLAN 1.1 VXLAN协议 1.2 VXLAN配置 2 vxlan flannel 2.1 flannel.1接口是怎么创建的? 2.2 fdb 转发数据库 2.3 newKubeSubnetManager 2.4 arp table 3 udp flannel flannel是coreos贡献给社区的一个kubernetes网络插件。overlay。 ...


  • ssh端口转发:远程和本地

    1 需求描述 1.1 机器状况 1.2 目标 2 解决方案 2.1 远程端口转发 2.2 本地端口转发 2.3 多主机转发 3 实施配置 3.1 环境需求 3.2 实施步骤 4 扩展阅读 4.1 非ssh服务 4.2 SSH动态端口转发 4.3 SSH参数解释 1 需...


  • kubernetes调度器scheduler源码解析

    kubernetes调度器概述 kubernetes源码分析 命令行入口 NewConfigFactory CreateFromKeys scheduler框架 generic scheduler实例 predicates算法 priorities算法 kubernetes调度器概述 kubernetes调度器kube-scheduler在集群中体现为一个kube-scheduler进程。kub...


  • golang如何获取变量的类型:反射,类型断言

    感觉接口的理解还有些不是很清楚,强写一篇 如果某个函数的入参是interface{},有下面几种方式可以获取入参的方法: 1 fmt: import "fmt" func main() { v := "hello world" fmt.Println(typeof(v)) } func typeof(v interface{}) string { return fmt.Sprintf("%T", v) } 2 反射: import ( "reflect...


  • 不要开启tcp_tw_recycle

    TL;DR: 问题描述 定位过程 怀疑点1:网络 怀疑点2:postgre进程故障 怀疑点3:内核丢包 解决方法 深入理解 TIME_WAIT是干啥的 为什么Greenplum会开启tcp_tw_recycle 为什么不要开启tcp_tw_recycle 特殊国情 总结 TL;DR: 不要开启net/ipv4/tcp_tw_recycle ...


  • go依赖包管理工具对比

    GOPATH和GOROOT GOROOT并不是必须要设置的。 GOPATH必须要设置,但并不是固定不变的 本项目内部的依赖 管理外部的依赖包 使用GOPATH来管理外部依赖 vendor godep glide govendor golang官方dep 各依赖管理工具对比 gvt vendor的问题 ...