传统文件IO操作的多次数据拷贝问题首先,假设我们有一个程序,这个程序需要对磁盘文件发起IO操作读取他里面的数据到自己这儿来,那么会经过以下一个顺序: 首先从磁盘上把数据读取到内核IO缓冲区里去,然后再从内核IO缓存区里读取到用户进程私有空间里去,然后我们才能拿到这个文件里的数据 为了读取磁盘文件里 ...
Flink中如何在流式计算中实现定时任务
背景流式数据需要跟数据库中的数据进行join,也就是join维表。一般维表是不怎么变化的,不变化的维表可以通过全量加载到内存中直接进行关联,也可以通过异步io的形式访问外部存储,如果担心外部存储的并发压力可以选择第一种。 在我们这边的场景中,这份维表是一份1分钟变化一次的数据,需要每分钟去获取。 一 ...
kubernetes 高可用搭建和负载均衡
架构图 原理安装keepalive,vip对外,没有ng。那么其实对外提供服务的master只有一台,除非这台挂了才会切换到下一台 。 只用keepalived实现master ha,当api-server的访问量大的时候,会有性能瓶颈问题,通过配置haproxy,可以同时实现master的ha和 ...
flink指标对接prometheus和grafana
先上一个架构图 Flink App : 通过report 将数据发出去 Pushgateway : Prometheus 生态中一个重要工具 Prometheus : 一套开源的系统监控报警框架 (Prometheus 入门与实践) Grafana: 一个跨平台的开源的度量分析和可视化工具,可以 ...
监控 Kubernetes 集群节点
监控方案Kubernetes 集群的监控方案目前主要有以下几种方案: Heapster:Heapster 是一个集群范围的监控和数据聚合工具,以 Pod 的形式运行在集群中。 Kubelet/cAdvisor 之外,我们还可以向 Heapster 添加其他指标源数据,比如 kube-state ...
prometheus安装教程
配置文件为了能够方便的管理配置文件,我们这里将 prometheus.yml 文件用 ConfigMap 的形式进行管理:(prometheus-cm.yaml) apiVersion: v1kind: ConfigMapmetadata: name: prometheus-config nam ...
grafana安装教程
配置文件grafana-deploy.yaml apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: grafana namespace: kube-ops labels: app: grafanaspec: rev ...
在kubernetes中部署java程序分析系统日志,不当人肉智能
背景是否遇到过服务器cpu温度高导致降频,磁盘只读等服务器问题。如果你遇到的问题不多或者你只用云服务,那恭喜你,可以跳过这篇文章。如果你被各种辣鸡服务器困扰,还被半死不活的服务器拖后腿导致集群性能短板,那么摆脱人肉智能,需要针对系统日志进行分析。 怎么判断服务器是否有问题简单点的通过观察系统日志来判 ...
Flink Window的5个使用小技巧
这是一篇转自小米云科技的文章。 Window是Flink的核心功能之一,使用好Window对解决一些业务场景是非常有帮助的。 今天分享5个Flink Window的使用小技巧,不过在开始之前,我们先复习几个核心概念。 Window有几个核心组件: Assigner,负责确定待处理元素所属的Win ...
Flink 1.9.1 on Kubernetes 搭建
依赖镜像制作 FROM flink:1.9.1-scala_2.12ADD ./flink-shaded-hadoop-2-uber-2.8.3-7.0.jar /opt/flink/lib/RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/lo ...