自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

houzhizhen的专栏

bigdata hobbyist

  • 博客(821)
  • 资源 (4)
  • 收藏
  • 关注

原创 Kubernetes 文档 / 概念 / 工作负载 / Pod / 边车容器

此文档从 Kubernetes 官网摘录边车容器是与主应用容器在同一个 Pod 中运行的辅助容器。这些容器通过提供额外的服务或功能(如日志记录、监控、安全性或数据同步)来增强或扩展主应用容器的功能, 而无需直接修改主应用代码。

2024-05-17 17:24:55 384

原创 Kubernetes 文档 / 概念 / 工作负载 / Pod / Init 容器

此文档从 Kubernetes 官网摘录本页提供了 Init 容器的概览。Init 容器是一种特殊容器,在 Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本。你可以在 Pod 的规约中与用来描述应用容器的 containers 数组平行的位置指定 Init 容器。在 Kubernetes 中,边车容器 是在主应用容器之前启动并持续运行的容器。本文介绍 Init 容器:在 Pod 初始化期间完成运行的容器。

2024-05-17 16:54:04 910

原创 Kubernetes 文档 / 概念 / 工作负载 / Pod / Pod 的生命周期

此文档从 Kubernetes 官网摘录本页面讲述 Pod 的生命周期。Pod 遵循预定义的生命周期,起始于 Pending 阶段, 如果至少其中有一个主要容器正常启动,则进入 Running,之后取决于 Pod 中是否有容器以失败状态结束而进入 Succeeded 或者 Failed 阶段。在 Pod 运行期间,kubelet 能够重启容器以处理一些失效场景。在 Pod 内部,Kubernetes 跟踪不同容器的状态并确定使 Pod 重新变得健康所需要采取的动作。

2024-05-17 14:44:02 965

原创 Kubernetes 文档 / 概念 / 工作负载 / Pod

说明:为了运行 Pod,你需要提前在每个节点安装好容器运行时。Pod 的共享上下文包括一组 Linux 名字空间、控制组(cgroup)和可能一些其他的隔离方面, 即用来隔离容器的技术。在 Pod 的上下文中,每个独立的应用可能会进一步实施隔离。Pod 类似于共享名字空间并共享文件系统卷的一组容器。Kubernetes 集群中的 Pod 主要有两种用法:运行单个容器的 Pod。"每个 Pod 一个容器"模型是最常见的 Kubernetes 用例;

2024-05-17 09:01:46 770

原创 Kubernetes 文档 / 概念 / 工作负载

例如,如果你希望运行一组 Pod,但要求所有 Pod 都可用时才执行操作 (比如针对某种高吞吐量的分布式任务),你可以基于定制资源实现一个能够满足这一需求的扩展, 并将其安装到集群中运行。例如,当在你的集群中运行了某个 Pod,但是 Pod 所在的 节点 出现致命错误时, 所有该节点上的 Pod 的状态都会变成失败。不过,为了减轻用户的使用负担,通常不需要用户直接管理每个 Pod。在 Kubernetes 中,无论你的负载是由单个组件还是由多个一同工作的组件构成, 你都可以在一组 Pod 中运行它。

2024-05-15 10:51:42 425

原创 Kubernetes 文档 / 概念 / 容器 / 容器生命周期回调

回调使容器能够了解其管理生命周期中的事件,并在执行相应的生命周期回调时运行在处理程序中实现的代码。

2024-05-15 10:40:56 386

原创 Kubernetes 文档 / 概念 / 容器 / 容器运行时类(Runtime Class)

此文档从 Kubernetes 官网摘录RuntimeClass 是一个用于选择容器运行时配置的特性,容器运行时配置用于运行 Pod 中的容器。

2024-05-14 17:26:16 1007

原创 Kubernetes 文档 / 概念 / 容器 / 容器环境

此文档从 Kubernetes 官网摘录。

2024-05-14 16:51:49 361

原创 Kubernetes 文档 / 概念 / 容器 / 镜像

此文档从 Kubernetes 官网摘录容器镜像(Image)所承载的是封装了应用程序及其所有软件依赖的二进制数据。容器镜像是可执行的软件包,可以单独运行;该软件包对所处的运行时环境具有良定(Well Defined)的假定。

2024-05-14 15:43:43 906

原创 Kubernetes 文档 / 概念 / 容器

此文档从 Kubernetes 官网摘录每个运行的容器都是可重复的;包含依赖环境在内的标准,意味着无论你在哪里运行它都会得到相同的行为。容器将应用程序从底层的主机设施中解耦。这使得在不同的云或 OS 环境中部署更加容易。Kubernetes 集群中的每个节点都会运行容器, 这些容器构成分配给该节点的 Pod。单个 Pod 中的容器会在共同调度下,于同一位置运行在相同的节点上。

2024-05-14 11:43:57 342

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 混合版本代理

此文档从 Kubernetes 官网摘录。

2024-05-14 11:01:25 331

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 垃圾收集

此文档从 Kubernetes 官网摘录垃圾收集(Garbage Collection)是 Kubernetes 用于清理集群资源的各种机制的统称。

2024-05-14 10:15:07 357

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 容器运行时接口(CRI)

Kubernetes 文档 / 概念 / Kubernetes 架构 / 容器运行时接口(CRI)

2024-05-11 17:13:04 352

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 关于 cgroup v2

API 中单个统一的层次结构设计更安全的子树委派给容器更新的功能特性, 例如压力阻塞信息(Pressure Stall Information,PSI)跨多个资源的增强资源分配管理和隔离统一核算不同类型的内存分配(网络内存、内核内存等)考虑非即时资源变化,例如页面缓存回写。

2024-05-11 11:24:28 555 1

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 云控制器管理器

此文档从 Kubernetes 官网摘录组件 cloud-controller-manager 是指云控制器管理器, 一个 Kubernetes 控制平面组件, 嵌入了特定于云平台的控制逻辑。云控制器管理器(Cloud Controller Manager) 允许将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。

2024-05-11 10:41:42 462

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 租约

此文档从 Kubernetes 官网摘录分布式系统通常需要租约(Lease);租约提供了一种机制来锁定共享资源并协调集合成员之间的活动。在 Kubernetes 中,租约概念表示为 coordination.k8s.io API 组中的 Lease 对象, 常用于类似节点心跳和组件级领导者选举等系统核心能力。

2024-05-06 11:38:20 306

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 控制器

此文档从 Kubernetes 官网摘录在 Kubernetes 中,控制器通过监控集群的公共状态,并致力于将当前状态转变为期望的状态。

2024-05-06 11:02:41 794

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 节点与控制面之间的通信

此文档从 Kubernetes 官网摘录本文列举控制面节点(确切地说是 API 服务器)和 Kubernetes 集群之间的通信路径。

2024-05-06 09:30:09 866

原创 Kubernetes 文档 / 概念 / Kubernetes 架构 / 节点

此文档从 Kubernetes 官网摘录节点上的组件包括 kubelet、 容器运行时以及 kube-proxy。

2024-05-03 16:03:41 725

原创 Kubernetes 文档 / 概念 / 概述 / Kubernetes 对象

此文档从 Kubernetes 官网摘录中文地址英文地址在 Kubernetes 系统中,Kubernetes 对象是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。哪些容器化应用正在运行(以及在哪些节点上运行)可以被应用使用的资源关于应用运行时行为的策略,比如重启策略、升级策略以及容错策略。

2024-05-02 16:43:55 464 1

原创 Kubernetes 文档 / 概念 / 概述

Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,为声明式配置和自动化提供便利条件。

2024-05-02 11:53:02 690

原创 Kubernetes 文档 / 入门 / 最佳实践

Kubernetes(K8S)最佳实践

2024-05-01 18:02:46 976

原创 Kubernetes(K8S) — 生产环境

不过,如果你预期服务请求会随着时间增长,或者因为类似季节或者特殊事件的原因而发生剧烈变化, 你就需要规划如何处理请求上升时对控制面和工作节点的压力,或者如何缩减集群规模以减少未使用资源的消耗。无论你是自行构造一个生产用 Kubernetes 集群还是与合作伙伴一起协作, 请审阅下面章节以评估你的需求,因为这关系到你的集群的控制面、工作节点、用户访问以及负载资源。添加节点到集群中:如果你自行管理你的集群,你可以通过安装配置你的机器, 之后或者手动加入集群,或者让它们自动注册到集群的 API 服务器。

2024-04-30 16:41:26 1262 1

原创 hive metatool 使用说明

metatool 使用说明。

2024-04-07 11:52:08 378

原创 Hive SchemaTool 命令详解

Hive schematool 是 hive 自带的管理 schema 的相关工具。

2024-04-07 11:30:52 1373 1

原创 Spark SizeTrackingAppendOnlyMap 相关源代码分析

SizeTrackingAppendOnlyMap 在 ExternalAppendOnlyMap 中使用,当 map 中对象占用的内存大小超过一定阈值时,把 数据 spill 到磁盘。所以 SizeTrackingAppendOnlyMap。

2024-03-26 16:06:53 627 1

原创 spark-shuffle-site.xml 配置项

在 NodeManager 启动 spark shuffle,可以配置 spark-shuffle-site.xml,设置 spark-shuffle 的参数。

2024-03-18 20:58:24 213

原创 Spark Executor decommission 原理分析

Spark Executor decommission 最初是 AWS 为了 Spot 节点和 Spot Block 节点配置的, Spot 节点仅有正常节点几分之一的价格,但是可能在任何时间收回,收回的时候仅给 120 秒的缓冲期。如果正常的 executor 地址,则从 executor 读取,如果是 fall back 地址,则调用 FallBackStorage.read 读取数据块。开启一个线程,不断检查 decomission 状态,如果 decommission 成功,则。

2024-03-06 14:18:13 916

原创 Spark Shuffle 方案概览

依赖 YARN 框架,Map 任务计算完后,每个 shuffle partition 的数据被推往固定的 ESS, 在 ESS 端进行合并, 合并的 ESS 称为 Merger Location。Reduce 任务计算时,先从 Merger Location 读取 Merge 后的 shuffle 数据,缺少的数据再从原来的 ESS 读取。Executor 在没有计算任务时,把 shuffle 数据迁移到正常的 Executor 和远程存储上,如bos,然后退出。

2024-03-05 14:12:39 895

原创 Spark Shuffle Tracking 原理分析

Shuffle Tracking 是 Spark 在没有 ESS(External Shuffle Service)情况,并且开启 Dynamic Allocation 的重要功能。如在 K8S 上运行 spark 没有 ESS。本文档所有的前提都是基于以上条件的。如果开启了 ESS,那么 Executor 计算完后,把 shuffle 数据交给 ESS, Executor 没有任务时,可以安全退出,下游任务从 ESS 拉取 shuffle 数据。

2024-03-01 10:56:04 1360

原创 Hive 严格模式设置

Hive 在早期使用参数来决定是否执行严格模式, 其值为 strict 或者 nostrict. 当其值为strict时,执行严格模式,如从分区表查询时,过滤条件必须有分区字段。在 Hive 3.1.3 中,因为 hive.mapred.mode 比较粗暴,为了能更好的在不同地方是否严格模式,在不同的地方用各自的参数。为了使用不同的参数,hive.mapred.mode 已经被废弃,不能设置,如果设置了,则以 hive.mapred.mode 值为准,新的参数不生效。

2024-02-25 11:59:46 1164

原创 Spark 设置日志级别

查看是否有文件 ${SPARK_HOME}/conf/log4j2.properties,如果没有,则执行以下创建 log4j2 配置文件。

2024-02-23 17:23:01 631

原创 Spark Push Based Shuffle 原理分析

如果两个推测执行的 shuffle 数据同时达到,由于锁的限制,会先后执行时,后边的请求执行时,currentMapIndex 都等于当前 map 的 index,也不会有问题。当开启shuffle merge 时,第一个 block(仅一个) 是 ShuffleMergedBlockId, 代表所有已经 merge 的shuffle数据,后面是没有 merge 的数据(包括 shuffle 数据量为 0 和 shuffle 数据量超过限额,和其他原因失败造成没有 merge 的数据)

2024-02-22 09:33:00 1171

原创 Go语言程序设计-第9章--使用共享变量实现并发

一个能在串行程序中正确工作的函数。如果这个函数在并发调用时仍然能正确工作,那么这个函数是并发安全的。在这里并发调用是指,在没有额外同步机制的情况下,从两个或者多个 goroutine 同时调用这个函数。如果一个类型的所有可访问方法和操作都是并发安全时,则它可称为并发安全的类型。数据竟态发生于两个 goroutine 并发读写同一个变量,并且至少一个是写入时。有3个方法避免数据竟态。第一种方法是不要修改变量。第二种方法是避免多个 goroutine 访问同一个变量。

2024-01-07 13:27:33 678 1

原创 Go语言程序设计-第8章--goroutine 和通道

当程序启动时,只有一个 goroutine 来调用 main 函数,称为主 goroutine. 新的 goroutine 需要通过 go 语句进行创建。在普通的函数或者方法调用前边加上 go 关键字。

2024-01-07 12:18:20 621 1

原创 Go语言程序设计-第7章--接口

接口类型是对其他类型行为的概括与抽象。Go 语言的接口的独特之处在于它是隐式实现。对于一个具体的类型,无须声明它实现了哪些接口,只要提供接口所必须实现的方法即可。

2024-01-05 10:56:42 809

原创 Go语言程序设计-第6章--方法

对象就是简单的一个值或者变量,并且拥有其方法,而方法是某种特定类型的函数。

2024-01-05 10:55:57 1170

原创 Go语言程序设计-第5章--函数

每个函数声明都包含一个名字、一个形参列表、一个可选的返回列表以及函数体:函数的类型称为。实参是按值传递的。如果提供的实参包含引用类型,比如指针、slice、map、函数或者通道,那么当函数使用形参变量时就有可能间接地修改实参变量。优先函数的声明没有函数体,说明这个函数使用除了 Go 以外的语言实现。package mathfunc Sin(x float64) float64 // 使用汇编语言实现一个函数如果有命名的返回值,可以省略 return 语句的操作数,称为。Go 程序使用通常的控制流机制(比

2023-12-29 11:39:14 1085

原创 go 语言程序设计第4章--复合数据类型

四种复合数据类型,分别是数组、slice、map 和结构体。数组和结构体都是聚和类型,他们的值由内存中的一组变量构成。数组和结构体的长度都是固定的。slice 和 map 都是动态数据结构,他们的长度在元素添加到结构时可以动态增长。

2023-12-28 17:15:56 609

原创 go 语言程序设计第3章--基础数据类型

Go 的数据类型分四大类:基础类型(basic type)、聚和类型(aggregate type)、引用类型(reference type)和接口类型(interface type).基本类型包括数字,字符串和布尔型。

2023-12-27 17:36:18 629 1

Hive 性能测试程序,https://github.com/hortonworks/hive-testbench 编译

Hive 性能测试程序,https://github.com/hortonworks/hive-testbench 编译

2023-02-24

Tez 的设计者在 Hadoop 大会上的分享

1. Tez 的设计思想和解决的问题。

2022-03-15

Transactional Operations in Apache Hive: Present and Future

Hive 事务设计

2022-03-01

The Log-Structured Merge-Tree (LSM-Tree).pdf

The Log-Structured Merge-Tree (LSM-Tree).pdf

2021-06-22

Distributed cycle detection in large-scale sparse graphs.pdf

分布式大规模环检测的计算方法。In this paper we present a distributed algorithm for detecting cycles in large-scale directed graphs, along with its correctness proof and analysis. The algorithm is then extended to find strong components in directed graphs. We indicate an application to detecting cycles in number theoretic functions such as the proper divisor function. Our prototype implementation of the cycle detection algorithm, when applied to the proper divisor function, detects all sociable groups of numbers (cycles in the proper divisor function) up to 107.

2020-08-11

空空如也

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

TA关注的人

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