Spark性能调优基础 一、开发调优复用RDD并进行持久化对于同一份数据的读取,避免创建多个RDD,尽可能复用,并且对于多次使用的RDD进行持久化,避免重复计算。错误写法val rdd1 = sc.textFile("hello.txt")rdd1.map(...).count()val rdd2 = sc.textFile("hello.txt")rdd2.reduce(...).count()正确写法//不持久化,Spark默认还是会读取两次数据val rdd = sc.textFile("hello.
[2021-09-29]一文弄懂RPC/序列化 一、问题思考面对大数据系统中几乎每天都会遇到的概念,序列化协议、PRC协议的区别与联系,你真的可以分清楚吗?常见的PRC协议有哪些?常见的序列化协议有哪些?序列化协议、PRC协议有什么关系?相等or包含?thrift是序列化协议还是rpc协议?如果你的反应是这个表情,那么就一起来温故知新吧~免责声明:本文并不在于理解源码或者技术细节,而在于统一某一方面的认知。内容简介:PRC为什么PRCRPC是什么一个经典的PRC简化后的PRC的核心的组成RPC调用过程手撕PRC代码
metacat-生态与架构 [20201127]-metacat1.metacat组件之提问接触一个新的组件的时候,我们需要首先提取一般共性需要解决发问的问题,例如metacat的问题如下:metacat是什么?matacat能干什么?metacat的组织架构是怎样的;metacat的请求响应的流程是什么?matacat为什么要用它?对比;预期带来的收益是什么?metacat适用的场景和一般使用方式是什么?metacat的搭建方式:有哪些?主流的是什么?怎样搭建、使用?metacat的运行状态监控(自带的web
hive在linux下的搭建测试 hive在linux下的搭建测试参考文章:https://www.cnblogs.com/makeryan/p/11358953.html1.前言在linux环境(Ubuntu环境)构建hive的测试环境,方便本地客户端链接测试;环境准备:linux环境、需要hive安装包、mysql安装等;2.搭建过程安装 docker 过程https://blog.csdn.net/ljx1528/article/details/864248642.1搭建一个mysql系统docker run -
LRU 缓存淘汰算法 如何实现 LRU 缓存机制1. 参考链接:如何实现 LRU 缓存机制 https://mp.weixin.qq.com/s?__biz=MzAxODQxMDM0Mw==&mid=2247484500&idx=1&sn=83f4df1253f597898b2f74ea9dca9fd9&chksm=9bd7fa5caca0734ad182ba67651882647a71264938eaa98e49c5ff43369b807a094ad16efcd4&scene=21#
从初级工程师发展到高级工程师,需要跨越的鸿沟 转载地址:https://www.toutiao.com/a6878215946150871559/程序员是吃青春饭的吗?等我们老了,技术过时了,公司有什么理由不裁掉我们,去雇一些既有活力、薪资要求又低的年轻人呢?这个老生常谈的问题困扰着诸多渐入中年的程序员。本文告诉你如何增强自己的核心竞争力,在知识飞速更新的行业中站稳脚跟,跨过“初级工程师”和“高级工程师”之间的鸿沟。我曾在 CS 职业论坛 /r/cscareerquestions 上回答了一个问题,该回答描述了我在程序员职业道路早期 必须 要涉足
【生产上线】监控告警体系设计方案 【生产上线】监控告警体系设计方案Created by arch | Time:2020/02/19一、系统监控的目的和范围:1.1 监控的目的在生产环境中,保证系统服务运行的稳定性、可靠性十分重要。一方面,要求在服务运行过程中,对服务的运行状态、负载情况有时刻的掌握;另一方面在服务中断或者错误报出后,及时告警并发现问题,获取日志、还原问题场景、排除bug;1.2监控的范围纵向的监控体系从上往下分为4个层次的监控(最大外延和最小内涵):第1层:业务级业务的监控对象包括业务关心的各项指标,例如关
将指定的groupid相关kafka的topic中的offset更新到latest的最新位置 将指定的groupid相关kafka的topic中的offset更新到latest的最新位置如果使用java api的方式,将offset更新到特定位置(此处为最新的数据位置),详见下面的代码;package mykafka.gainoffset;import org.apache.kafka.clients.consumer.KafkaConsumer;import org.apache.kafka.common.TopicPartition;import java.util.ArrayLi
shell更新kafka的offset到最新的位置 更新kafka的offset到最新的位置1.进入docker容器,用来执行kafka相关的更新offset的命令;docker ps | grep kafka | awk '{print $1}'2.执行如下命令,用来将执行kafka集群中的groupId的offset更新为最新;/opt/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 172.19.32.116:9192 --group fang-groupid-105 --res
kafka传递大消息体时的配置 kafka传递大消息体时的配置created by cms/fangchangtan | 2020/09/301.生产端设置//数据太大,发送失败,设置 max.request.sizeprops.put("max.request.size", "300000000");/*socket 在读写数据时用到的TCP 缓冲区也可以设置大小。如果它们被设为-1 ,就使用操作系统的默认值。如果生产者或消费者与broker 处于不同的数据中心内,可以适当增大这些值,因为跨数据中心的网络一般都有比较高的延迟
docker部署ftp服务器 docker部署ftp服务器1.背景 FTP是一种传输协议,FTP服务器可以有客户端通过FTP协议访问,上传或下载文档。有什么用,其实就是很多人公用存储资料。2.拉取构建ftp服务器查看官网提供的ftp说明https://hub.docker.com/r/fauria/vsftpd使用最新的fauria/vsftpd镜像即可。官网提供的搭建建议:(生产环境中可用,已经绑定账户,挂载目录,启动了 FTP 的主动和被动模式)docker run -d -v /my/data/dire
二叉树知识点 二叉树知识点1.1二叉树的前序、中序、后序遍历二叉树的前序、中序、后序遍历(递归与非递归)/**前序:递归方式*/public void preOrder( TreeNode root){ if(root == null) return; System.out.println(root.val); preOrder(root.left); preOrder(root.right); }/**前序:非递归方式*结果放入ArrayList中*/public
手撕 排序算法 归并排序//归并排序--采用分治法,先分后治,递归的解决问题/***分:将大问题拆分为小问题。具体来说,将数组氛围左右两个数组,然后递归的调用治理* 治:采用合并有序数组的方式*/public void mergeSort(int[] arr, int left, int right){ if(left < right){ int mid = left +right; mergeSort(arr, left,mid); mergeSo
K8S部署elasticsearch 在k8s上部署elasticsearchhttps://staight.github.io/2019/09/16/%E5%9C%A8k8s%E4%B8%8A%E9%83%A8%E7%BD%B2elasticsearch/
Spark心跳存活-延迟处理-异常日志告警 Spark心跳存活-延迟处理-异常日志告警1.目录大纲spark异常日志告警spark存活心跳告警spark批次处理延迟告警2.任务背景2.1问题背景 生成中针对spark steaming的程序进行告警的设置,生产上线需要监控spark streaming的异常日志的告警,及时发现生产线中的异常问题,方便快速定位问题;同时对spark 通过心跳机制对spark的异常下线问题告警,方便运维人员及时通知运维人员跟进,恢复程序运行。2.2 技术路线1.基于以往的告警研究,监控日志
java批量创建删除Kafka的topic java批量创建删除Kafka的topic一、前言参考资料:Kafka 0.11客户端集群管理工具AdminClienthttps://blog.csdn.net/u012501054/article/details/805943742.批量创建删除Kafka的topic2.集群管理工具AdminClient (新版本kafka)较为新的版本:Kafka 0.11以上版本上测试的,新的API集群管理工具AdminClientpackage zktest.navinfo;import or