华为云用户手册

  • 解决方案 问题场景一: 错误信息为“xx file permission has been changed!”。 解决方案: CCE使用/var/paas目录进行基本的节点管理活动并存储属主和属组均为paas的文件数据。 当前集群升级流程会将/var/paas路径下的文件的属主和属组均重置为paas。 请您参考下述命令排查当前业务Pod中是否将文件数据存储在/var/paas路径下,修改避免使用该路径,并移除该路径下的异常文件后重试检查,通过后可继续升级。 find /var/paas -not \( -user paas -o -user root \) -print 问题场景二: 错误信息为“user paas must have at least read and execute permissions on the root directory”。 解决方案:节点根目录权限被修改导致paas用户没有根目录的读权限,这会导致升级时组件重启失败,建议将根目录权限修正为默认权限555。
  • 使用CronHPA直接调整Deployment实例数量 CronHPA还可以单独调整关联Deployment,定时调整Deployment的实例数,使用方法如下。 使用控制台创建 在CCE控制台,单击集群名称进入集群。 单击左侧导航栏的“工作负载”,在目标工作负载的操作列中单击“弹性伸缩”。 策略类型选择“HPA+CronHPA策略”,选择不启用HPA策略,并选择启用CronHPA策略。 此时CronHPA会直接定时调整工作负载的实例数。 在CronHPA的策略规则中单击,在弹出的窗口中设置伸缩策略参数。 表5 CronHPA策略参数配置 参数 参数说明 目标实例数 策略触发时,工作负载实例将调整至该数值。 触发时间 可选择每天、每周、每月或每年的具体时间点。 是否启用 可选择启用或关闭该策略规则。 填写完成上述参数,单击“确定”,您可以在列表中查看添加的策略规则。重复以上步骤,您可以添加多条策略规则,但策略的触发时间不能相同。 设置完成后,单击“创建”。 使用kubectl命令行创建 apiVersion: autoscaling.cce.io/v2alpha1 kind: CronHorizontalPodAutoscaler metadata: name: ccetest namespace: default spec: scaleTargetRef: # 关联Deployment apiVersion: apps/v1 kind: Deployment name: nginx rules: - ruleName: "scale-down" schedule: "08 * * * *" # 指定任务运行时间与周期,参数格式请参见Cron,例如0 * * * * 或@hourly。 targetReplicas: 1 disable: false - ruleName: "scale-up" schedule: "05 * * * *" targetReplicas: 3 disable: false
  • 创建HPA策略 在CCE控制台,单击集群名称进入集群。 单击左侧导航栏的“工作负载”,在目标工作负载的操作列中单击“弹性伸缩”。 策略类型选择“HPA+CronHPA策略”,并启用HPA策略,填写HPA策略配置参数。 本文中仅介绍HPA策略,如需启用CronHPA策略,请参见CronHPA定时策略。 表1 HPA策略配置 参数 参数说明 实例范围 请输入最小实例数和最大实例数。 策略触发时,工作负载实例将在此范围内伸缩。 冷却时间 请输入缩容和扩容的冷却时间,单位为分钟,缩容扩容冷却时间不能小于1分钟。 该设置仅在1.15到1.23版本的集群中显示。 策略成功触发后,在此缩容/扩容冷却时间内,不会再次触发缩容/扩容,目的是等待伸缩动作完成后在系统稳定且集群正常的情况下进行下一次策略匹配。 伸缩配置 该设置仅在1.25及以上版本的集群中显示。 系统默认:采用社区推荐的默认行为进行负载伸缩,详情请参见社区默认行为说明。 自定义:自定义扩/缩容配置的稳定窗口、步长、优先级等策略,实现更灵活的配置。未配置的参数将采用社区推荐的默认值。 禁止扩/缩容:选择是否禁止扩容或缩容。 稳定窗口:需要伸缩时,会在一段时间(设定的稳定窗口值)内持续检测,如在该时间段内始终需要进行伸缩(不满足设定的指标期望值)才进行伸缩,避免短时间的指标抖动造成异常。 步长策略:扩/缩容的步长,可设置一定时间内扩/缩容Pod数量或百分比。在存在多条策略时,可以选择使Pod数量最多或最少的策略。 系统策略 指标:可选择“CPU利用率”或“内存利用率”。 说明: 利用率 = 工作负载容器组(Pod)的实际使用量 / 申请量 期望值:请输入期望资源平均利用率。 期望值表示所选指标的期望值,通过向上取整(当前指标值 / 期望值 × 当前实例数)来计算需要伸缩的实例数。 说明: HPA在计算扩容、缩容实例数时,会选择最近5分钟内实例数的最大值。 容忍范围:指标处于范围内时不会触发伸缩,期望值必须在容忍范围之间。 当指标值大于缩容阈值且小于扩容阈值时,不会触发扩容或缩容。阈值仅在1.15及以上版本的集群中支持。 自定义策略(仅在1.15及以上版本的集群中支持) 说明: 使用自定义策略时,集群中需要安装支持采集自定义指标的插件(例如Prometheus),且工作负载需正常上报并采集自定义指标。 采集自定义指标的方法及示例请参见使用云原生监控插件监控自定义指标。 自定义指标名称:自定义指标的名称,输入时可根据联想值进行选择。 指标来源:在下拉框中选择对象类型,可选择“Pod”。 期望值:Pod支持指标为平均值。通过向上取整(当前指标值 / 期望值 × 当前实例数)来计算需要伸缩的实例数。 说明: HPA在计算扩容、缩容实例数时,会选择最近5分钟内实例数的最大值。 容忍范围:指标处于范围内时不会触发伸缩,期望值必须在容忍范围之间。 设置完成后,单击“创建”。
  • 解决方案 问题场景: 1.25及以上集群中的service存在废弃的annotation:tolerate-unready-endpoints 报错日志信息如下: some check failed in cluster upgrade: this cluster has deprecated service list: map[***] with deprecated annotation list [tolerate-unready-endpoints] 检查日志信息中所给出的service是否存在"tolerate-unready-endpoints"的annotation,如果存在则将其去掉,并在对应的service的spec中添加下列字段来替代该annotation: publishNotReadyAddresses: true
  • 使用kubectl创建Job Job的配置参数如下所示。 spec.template格式与Pod相同。 RestartPolicy仅支持Never或OnFailure。 单个Pod时,默认Pod成功运行后Job即结束。 .spec.completions表示Job结束需要成功运行的Pod个数,默认为1。 .spec.parallelism表示并行运行的Pod的个数,默认为1。 spec.backoffLimit表示失败Pod的重试最大次数,超过这个次数不会继续重试。 .spec.activeDeadlineSeconds表示Pod运行时间,一旦达到这个时间,Job即其所有的Pod都会停止。且activeDeadlineSeconds优先级高于backoffLimit,即到达activeDeadlineSeconds的Job会忽略backoffLimit的设置。 根据.spec.completions和.spec.Parallelism的设置,可以将Job划分为以下几种类型。 表1 任务类型 Job类型 说明 使用示例 一次性Job 创建一个Pod直至其成功结束 数据库迁移 固定结束次数的Job 依次创建一个Pod运行直至completions个成功结束 处理工作队列的Pod 固定结束次数的并行Job 依次创建多个Pod运行直至completions个成功结束 多个Pod同时处理工作队列 并行Job 创建一个或多个Pod直至有一个成功结束 多个Pod同时处理工作队列 以下是一个Job配置示例,保存在myjob.yaml中,其计算π到2000位并打印输出。 apiVersion: batch/v1 kind: Job metadata: name: myjob spec: completions: 50 # Job结束需要运行50个Pod,这个示例中就是打印π 50次 parallelism: 5 # 并行5个Pod backoffLimit: 5 # 最多重试5次 template: spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: Never imagePullSecrets: - name: default-secret 说明: apiVersion: batch/v1 是当前job的Version kind: Job:指定当前资源的类型时Job restartPolicy: Never:是指当前的重启策略。对于Job,只能设置为Never或者OnFailure。对于其他controller(比如Deployment)可以设置为Always。 运行该任务,如下: 启动这个job。 [root@k8s-master k8s]# kubectl apply -f myjob.yaml job.batch/myjob created 查看这个job。 kubectl get job [root@k8s-master k8s]# kubectl get job NAME COMPLETIONS DURATION AGE myjob 50/50 23s 3m45s completions为 50/50 表示成功运行了这个job。 查看pod的状态。 kubectl get pod [root@k8s-master k8s]# kubectl get pod NAME READY STATUS RESTARTS AGE myjob-29qlw 0/1 Completed 0 4m5s ... 状态为Completed表示这个job已经运行完成。 查看这个pod的日志。 kubectl logs # kubectl logs myjob-29qlw 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275901
  • 安装插件 登录CCE控制台,单击集群名称进入集群,单击左侧导航栏的“插件中心”,在右侧找到web-terminal,单击“安装”。 配置以下参数。 访问类型:固定为节点访问,该插件默认以NodePort形式提供访问,需为集群任意一个节点绑定弹性IP才能使用。若集群没有绑定弹性IP,需绑定弹性IP。 用户名:默认为root,不可修改。 密码:登录web-terminal的密码,请务必记住该密码。web-terminal插件能够对CCE集群进行管理,请用户妥善保管好登录密码,避免密码泄漏造成损失。 确认密码:重新准确输入该密码。 单击“安装”。
  • 版本记录 表1 Kubernetes Web终端版本记录 插件版本 支持的集群版本 更新特性 社区版本 1.1.12 v1.15 v1.17 v1.19 v1.21 适配CCE v1.21集群 0.6.6 1.1.6 v1.15 v1.17 v1.19 配置seccomp默认规则 0.6.6 1.1.5 v1.15 v1.17 v1.19 兼容CCE v1.15集群 0.6.6 1.1.3 v1.17 v1.19 适配CCE v1.19集群 0.6.6 1.0.6 v1.15 v1.17 增加Pod安全策略资源 0.6.6 1.0.5 v1.9 v1.11 v1.13 v1.15 v1.17 支持v1.17版本集群 0.6.6
  • 约束与限制 仅支持在1.21及以下版本的集群中安装此插件,暂不支持ARM集群。 web-terminal插件当前已停止演进,请使用CloudShell方案代替。 web-terminal中kubectl具有高级别操作权限,限账号以及具有CCE Administrator权限的IAM用户安装此插件,如需收缩插件中kubectl权限,请参见收缩web-terminal权限操作。 集群必须安装CoreDNS才能使用web-terminal。
  • 收缩web-terminal权限 web-terminal插件安装后,其kubectl默认使用cluster-admin ClusterRole权限,能够操作该集群K8s资源,若需手动配置为其他类型权限,可通过kubectl edit clusterrolebinding web-terminal修改web-terminal ServiceAccount绑定其他权限的ClusterRole。 ClusterRole、ClusterRoleBinding相关配置说明请参见命名空间权限(Kubernetes RBAC授权)。 手动配置的web-terminal权限在web-terminal插件升级时存在被重置风险,需注意做好备份在插件升级后重新配置。 使用kubectl修改clusterrolebinding配置需确保当前kubectl有修改clusterrolebinding资源操作权限。
  • 通过控制台创建 登录CCE控制台。 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建负载”。 配置工作负载的信息。 基本信息 负载类型:选择定时任务CronJob。工作负载类型的介绍请参见工作负载概述。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 命名空间:选择工作负载的命名空间,默认为default。您可以单击后面的“创建命名空间”,命名空间的详细介绍请参见创建命名空间。 容器运行时:CCE Standard集群默认使用普通运行时,CCE Turbo集群可以使用普通运行时或安全运行时。具体区别请参见安全运行时与普通运行时。 容器配置 容器信息 Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器。 基本信息:配置容器的基本信息。 参数 说明 容器名称 为容器命名。 更新策略 镜像更新/拉取策略。可以勾选“总是拉取镜像”,表示每次都从镜像仓库拉取镜像;如不勾选则优使用节点已有的镜像,如果没有这个镜像再从镜像仓库拉取。 镜像名称 单击后方“选择镜像”,选择容器使用的镜像。 如果需要使用第三方镜像,请参见使用第三方镜像。 镜像版本 选择需要部署的镜像版本。 CPU配额 申请:容器需要使用的最小CPU值,默认0.25Core。 限制:允许容器使用的CPU最大值。建议设容器配额的最高限额,避免容器资源超额导致系统故障。 如不填写申请值和限制值,表示不限制配额。申请值和限制值的配置说明及建议请参见设置容器规格。 内存配额 申请:容器需要使用的内存最小值,默认512MiB。 限制:允许容器使用的内存最大值。如果超过,容器会被终止。 如不填写申请值和限制值,表示不限制配额。申请值和限制值的配置说明及建议请参见设置容器规格。 GPU配额(可选) 当集群中包含GPU节点时,才能设置GPU配额,且集群中需安装CCE AI套件(NVIDIA GPU)插件。 不限制:表示不使用GPU。 独享:单个容器独享GPU。 共享:容器需要使用的GPU百分比,例如设置为10%,表示该容器需使用GPU资源的10%。 关于如何在集群中使用GPU,请参见使用Kubernetes默认GPU调度。 NPU配额(可选) 使用NPU芯片(昇腾系列)的数量,必须为整数,且必须安装CCE AI套件(Ascend NPU)插件后才能使用。 关于如何在集群中使用NPU,请参见NPU调度。 特权容器(可选) 特权容器是指容器里面的程序具有一定的特权。 若选中,容器将获得超级权限,例如可以操作宿主机上面的网络设备、修改内核参数等。 初始化容器(可选) 选择容器是否作为初始化(Init)容器。初始化(Init)容器不支持设置健康检查。 Init容器是一种特殊容器,可以在Pod中的其他应用容器启动之前运行。每个Pod中可以包含多个容器,同时Pod中也可以有一个或多个先于应用容器启动的Init容器,当所有的Init 容器运行完成时,Pod中的应用容器才会启动并运行。详细说明请参见Init 容器。 生命周期(可选):在容器的生命周期的特定阶段配置需要执行的操作,例如启动命令、启动后处理和停止前处理,详情请参见设置容器生命周期。 环境变量(可选):支持通过键值对的形式为容器运行环境设置变量,可用于把外部信息传递给Pod中运行的容器,可以在应用部署后灵活修改,详情请参见设置环境变量。 镜像访问凭证:用于访问镜像仓库的凭证,默认取值为default-secret,使用default-secret可访问SWR镜像仓库的镜像。default-secret详细说明请参见default-secret。 GPU显卡(可选):默认为不限制。当集群中存在GPU节点时,工作负载实例可以调度到指定GPU显卡类型的节点上。 定时规则 并发策略:支持如下三种模式。 Forbid:在前一个任务未完成时,不创建新任务。 Allow:定时任务不断新建Job,会抢占集群资源。 Replace:已到新任务创建时间点,但前一个任务还未完成,新的任务会取代前一个任务。 定时规则:指定新建定时任务在何时执行,YAML中的定时规则通过CRON表达式实现。 以固定周期执行定时任务,支持的周期单位为分钟、小时、日、月。例如,每30分钟执行一次任务,对应的CRON表达式为“*/30 * * * *”,执行时间将从单位范围内的0值开始计算,如00:00:00、00:30:00、01:00:00、...。 以固定时间(按月)执行定时任务。例如,在每个月1日的0时0分执行任务,对应的CRON表达式为“0 0 1 */1 *”,执行时间为****-01-01 00:00:00、****-02-01 00:00:00、...。 以固定时间(按周)执行定时任务。例如,在每周一的0时0分执行任务,对应的CRON表达式为“0 0 * * 1”,执行时间为****-**-01 周一 00:00:00、****-**-08 周一 00:00:00、...。 自定义CRON表达式:关于CRON表达式的用法,可参考CRON。 以固定时间(按月)执行定时任务时,在某月的天数不存在的情况下,任务将不会在该月执行。例如设置天数为30,而2月份没有30号,任务将跳过该月份,在3月30号继续执行。 由于CRON表达式的定义,这里的固定周期并非严格意义的周期。将从0开始按周期对其时间单位范围(例如单位为分钟时,则范围为0~59)进行划分,无法整除时最后一个周期会被重置。因此仅在周期能够平均划分其时间单位范围时,才能表示准确的周期。 举个例子,周期单位为小时,因为“/2、/3、/4、/6、/8和/12”可将24小时整除,所以可以表示准确的周期;而使用其他周期时,在新的一天开始时,最后一个周期将会被重置。比如CRON式为“* */12 * * *”时为准确的周期,每天的执行时间为00:00:00和12:00:00;而CRON式为“* */13 * * *”时,每天的执行时间为00:00:00和13:00:00,在第二天0时,虽然没到13个小时的周期还是会被刷新。 任务记录:可以设置保留执行成功或执行失败的任务个数,设置为0表示不保留。 高级配置(可选) 标签与注解:以键值对形式为工作负载Pod添加标签或注解,填写完成后需单击“确认添加”。关于标签与注解的作用及配置说明,请参见标签与注解。 网络配置: Pod入/出口带宽限速:支持为Pod设置入/出口带宽限速,详情请参见为Pod配置QoS。 IPv6共享带宽:仅支持该功能的集群显示该选项,开启后可为Pod的IPv6双栈网卡绑定共享带宽,详情请参见为IPv6双栈网卡的Pod配置共享带宽。 单击右下角“创建工作负载”。
  • 安装Helm v2 本文以Helm v2.17.0为例进行演示。 如需选择其他合适的版本,请访问https://github.com/helm/helm/releases。 在连接集群的虚拟机上下载Helm客户端。 wget https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz 解压Helm包。 tar -xzvf helm-v2.17.0-linux-amd64.tar.gz 将helm拷贝到系统path路径下,以下为/usr/local/bin/helm。 mv linux-amd64/helm /usr/local/bin/helm 因为Kubernetes APIServer开启了RBAC访问控制,所以需创建tiller使用的service account:tiller并给其分配cluster-admin这个集群内置的ClusterRole。按如下创建tiller的资源账号。 vim tiller-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: tiller namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: tiller roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: tiller namespace: kube-system 部署tiller资源账号。 kubectl apply -f tiller-rbac.yaml 初始化Helm, 部署tiller的Pod。 helm init --service-account tiller --skip-refresh 查看状态。 kubectl get pod -n kube-system -l app=helm 回显如下 NAME READY STATUS RESTARTS AGE tiller-deploy-7b56c8dfb7-fxk5g 1/1 Running 1 23h 查看helm版本。 # helm version Client: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.17.0", GitCommit:"a690bad98af45b015bd3da1a41f6218b1a451dbe", GitTreeState:"clean"}
  • 安装Helm模板chart包 CCE提供的模板不能满足要求时,可下载模板的chart包进行安装。 在https://github.com/helm/charts的stable目录中查找您需要的chart包,下载后将chart包上传至节点。 下载并解压已获取的chart包,一般chart包格式为.zip。 unzip chart.zip 安装Helm模板。 helm install aerospike/ 安装完成后,执行helm list查看已经安装的模板实例状态。
  • 如何配置PrometheusRules Prometheus提供了PrometheusRules的用于创建用户自己的record来查询指标。 apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: demo namespace: monitoring labels: role: operator-prometheus # 保持一致,必须配置,prometheus配置了该ruleSelector spec: groups: - name: demo interval: 15s rules: - record: cpu_request expr: kube_pod_container_resource_requests{resource="cpu",unit="core"} - record: cpu_limit expr: kube_pod_container_resource_limits{resource="cpu",unit="core"} - record: memory_request expr: kube_pod_container_resource_requests{resource="memory",unit="byte"} - record: memory_limit expr: kube_pod_container_resource_limits{resource="memory",unit="byte"} 创建成功后,Prometheus的Web页面中,Status-Rules中可以看到配置的PrometheusRules。
  • USER_IND_COLUMNS USER_IND_COLUMNS视图存储当前用户下所有索引的字段信息。 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。 table_owner character varying(64) 表的所有者。 table_name character varying(64) 表名。 column_name name 列名。 column_position smallint 索引中列的位置。 父主题: 系统视图
  • PG_EXTENSION PG_EXTENSION系统表存储关于所安装扩展的信息。GaussDB(DWS)默认有十二个扩展,即PLPGSQL、DIST_FDW、FILE_FDW、HDFS_FDW 、HSTORE、PLDBGAPI、DIMSEARCH、PACKAGES、GC_FDW、UUID-OSSP、LOG_FDW和ROACH_API。 表1 PG_EXTENSION 名称 类型 描述 extname name 扩展名。 extowner oid 扩展的所有者。 extnamespace oid 扩展导出对象的命名空间。 extrelocatable boolean 如果扩展能够重定位到其他schema,则为true。 extversion text 扩展的版本号。 extconfig oid[] 扩展的配置信息。 extcondition text[] 扩展配置信息的过滤条件。 父主题: 系统表
  • 操作步骤 通过视图gs_session_cpu_statistics查询实时CPU信息。 1 SELECT * FROM gs_session_cpu_statistics; 通过视图gs_session_memory_statistics查询实时memory信息。 1 SELECT * FROM gs_session_memory_statistics; 通过视图gs_wlm_session_statistics查询当前CN的实时资源。 1 SELECT * FROM gs_wlm_session_statistics; 通过视图pgxc_wlm_session_statistics查询所有CN的实时资源。 1 SELECT * FROM pgxc_wlm_session_statistics; 通过视图gs_wlm_operator_statistics查询当前CN作业算子执行实时资源信息。 1 SELECT * FROM gs_wlm_operator_statistics; 通过视图pgxc_wlm_operator_statistics查询所有CN作业算子执行实时资源信息。 1 SELECT * FROM pgxc_wlm_operator_statistics; 通过视图pg_session_wlmstat查询当前用户执行作业正在运行时的负载管理信息。 1 SELECT * FROM pg_session_wlmstat; 通过视图pgxc_wlm_workload_records(动态负载功能开启,即enable_dynamic_workload为on时该视图有效)查询当前用户在每个CN上作业执行时的状态信息。 1 SELECT * FROM pgxc_wlm_workload_records;
  • 前提条件 GUC参数enable_resource_track为on (默认为on)。 GUC参数resource_track_level为query、perf或operator(默认为query)。 监控作业的类型为: 优化器估算的执行代价大于或等于resource_track_cost取值的作业。 Cgroups功能正常加载,可通过gs_cgroup -P查看控制组信息。 GUC参数enable_track_record_subsql控制是否记录存储过程、匿名块内部语句。 在上述条件中,enable_resource_track为系统级参数,用于设置是否开启资源监控功能。resource_track_level为session级参数,可以对某个session的资源监控级别进行灵活设置。这两个参数的设置方法如下表: 表2 设置资源监控信息统计级别 enable_resource_track resource_track_level query级别信息 算子级别信息 on(default) none 不统计 不统计 query(default) 统计 不统计 perf 统计 不统计 operator 统计 统计 off none/query/operator 不统计 不统计
  • USER_PART_TABLES USER_PART_TABLES视图存储当前用户下分区表的信息。 名称 类型 描述 table_owner character varying(64) 分区表的所有者名称。 schema character varying(64) 分区表的模式。 table_name character varying(64) 分区表的名称。 partitioning_type text 分区表的分区策略。 说明: 当前分区表策略仅支持范围分区(Range Partitioning)和列表分区(List Partitioning)。 partition_count bigint 分区表的分区个数。 def_tablespace_name name 分区表的表空间名称。 partitioning_key_count integer 分区表的分区键个数。 父主题: 系统视图
  • PG_STAT_XACT_USER_FUNCTIONS PG_STAT_XACT_USER_FUNCTIONS视图显示关于函数执行的统计信息。 表1 PG_STAT_XACT_USER_FUNCTIONS字段 名称 类型 描述 funcid oid 函数OID。 schemaname name 模式名。 funcname name 函数名。 calls bigint 函数被调用的次数。 total_time double precision 函数的总执行时长。 self_time double precision 当前线程调用函数的总的时长。 父主题: 系统视图
  • PG_STATIO_ALL_SEQUENCES PG_STATIO_ALL_SEQUENCES视图显示当前数据库中相关的序列信息以及指定序列的I/O的统计信息。 表1 PG_STATIO_ALL_SEQUENCES字段 名称 类型 描述 relid oid 序列OID。 schemaname name 序列中模式名。 relname name 序列名。 blks_read bigint 从序列中读取的磁盘块数。 blks_hit bigint 序列缓冲区命中数量。 父主题: 系统视图
  • PG_FOREIGN_SERVER PG_FOREIGN_SERVER系统表存储外部服务器定义。一个外部服务器描述了一个外部数据源,例如一个远程服务器。外部服务器通过外部数据封装器访问。 表1 PG_FOREIGN_SERVER字段 名字 类型 引用 描述 oid oid - 行标识符(隐藏属性,必须明确选择才会显示)。 srvname name - 外部服务器名。 srvowner oid PG_AUTHID.oid 外部服务器的所有者。 srvfdw oid PG_FOREIGN_DATA_WRAPPER.oid 此外部服务器的外部数据封装器的OID。 srvtype text - 服务器的类型(可选)。 srvversion text - 服务器的版本(可选)。 srvacl aclitem[] - 访问权限。 srvoptions text[] - 外部服务器指定选项,使用“keyword=value”格式的字符串。 父主题: 系统表
  • PG_AUTH_MEMBERS PG_AUTH_MEMBERS系统表存储显示角色之间的成员关系。 表1 PG_AUTH_MEMBERS字段 名称 类型 描述 roleid oid 拥有成员的角色ID。 member oid 属于ROLEID角色的成员角色ID。 grantor oid 赋予此成员关系的角色ID。 admin_option boolean 如果有权限可以把ROLEID角色的成员关系赋予其他角色,则为真。 父主题: 系统表
  • DBA_PART_INDEXES DBA_PART_INDEXES视图存储数据库中所有分区表索引的信息。需要有系统管理员权限才可以访问。 名称 类型 描述 index_owner character varying(64) 分区表索引的所有者名称。 schema character varying(64) 分区表索引的模式。 index_name character varying(64) 分区表索引的名称。 table_name character varying(64) 分区表索引所属的分区表名称。 partitioning_type text 分区表的分区策略。 说明: 当前分区表策略仅支持范围分区(Range Partitioning)和列表分区(List Partitioning)。 partition_count bigint 分区表索引的索引分区的个数。 def_tablespace_name name 分区表索引的表空间名称。 partitioning_key_count integer 分区表的分区键个数。 父主题: 系统视图
  • GS_RESPOOL_RUNTIME_INFO GS_RESPOOL_RUNTIME_INFO视图显示当前CN所有资源池作业运行信息。 表1 GS_RESPOOL_RUNTIME_INFO字段 名称 类型 描述 nodegroup name 资源池所属逻辑集群名称,默认集群显示“installation”。 rpname name 资源池名称。 ref_count int 资源池引用作业数,作业经过资源池不管是否管控都会计数。 fast_run int 资源池快车道运行作业数。 fast_wait int 资源池快车道排队作业数。 slow_run int 资源池慢车道运行作业数。 slow_wait int 资源池慢车道排队作业数。 父主题: 系统视图
  • autovacuum_analyze_scale_factor 参数说明:设置触发一个ANALYZE时增加到autovacuum_analyze_threshold的表大小的缩放系数。 参数类型:SIGHUP 取值范围:浮点型,0.0~100.0 默认值: 若当前集群为低版本升级到8.1.3及以上集群版本,为保持和前向兼容,默认值为0.25。 若当前集群为新装的8.1.3及以上集群版本,默认值为0.1。
  • autovacuum_mode 参数说明:该参数仅在autovacuum设置为on的场景下生效,它控制autoanalyze或autovacuum的打开情况。 参数类型:SIGHUP 取值范围:枚举类型 analyze表示只执行autoanalyze。 vacuum表示只执行autovacuum。 mix表示autoanalyze和autovacuum都执行。 none表示二者都不执行。 默认值:mix
  • autovacuum_analyze_threshold 参数说明:设置触发ANALYZE操作的阈值。当表上被删除、插入或更新的记录数超过设定的阈值时才会对这个表执行ANALYZE操作。 参数类型:SIGHUP 取值范围:整型,0~INT_MAX 默认值: 若当前集群为低版本升级到8.1.3及以上集群版本,为保持和前向兼容,默认值为10000。 若当前集群为新装的8.1.3及以上集群版本,默认值为50。
  • autovacuum_freeze_max_age 参数说明:设置事务内的最大时间,使得表的pg_class.relfrozenxid字段在VACUUM操作执行之前被写入。 VACUUM也可以删除pg_clog/子目录中的旧文件;即使自动清理进程被禁止,系统也会调用自动清理进程来防止循环重复。 参数类型:SIGHUP 取值范围:整型,100 000~576 460 752 303 423 487 默认值:4000000000
  • autovacuum 参数说明:控制是否启动数据库自动清理进程(autovacuum)。自动清理进程运行的前提是将track_counts设置为on。 8.1.3及以上集群版本的自动清理功能已支持通过管理控制台操作,详情请参考智能运维概览章节,8.1.2及以下集群版本按照设置GUC参数的方式进行操作。 参数类型:SIGHUP 取值范围:布尔型 on表示开启数据库自动清理进程。 off表示关闭数据库自动清理进程。 默认值:on 如系统在故障恢复后,需具备自动清理两阶段事务的功能,请将autovacuum设置为on。 当设置autovacuum为on,autovacuum_max_workers为0时,表示系统不会自动进行autovacuum,只会在故障恢复后,自动清理两阶段事务。 当设置autovacuum为on,autovacuum_max_workers大于0时,表示系统不仅在故障恢复后,自动清理两阶段事务,并且还可以自动清理进程。 即使此参数设置为off,数据库也会在需要防止事务ID回卷时发起清理进程。对于CREATE/DROP DATABASE发生异常时,可能有的节点提交或回滚,有的节点未提交(prepared状态),此时系统不能自动修复,需要手动修复,修复步骤: 使用gs_clean工具(-N参数)查询出异常两阶段事务的xid以及处于prepared的节点。 登录事务处于prepared状态的节点,系统管理员连接一个可用的数据库(如gaussdb),执行语句SET xc_maintenance_mode = on。 根据事务全局状态提交或者回滚此两阶段事务(如提交语句、回滚语句)。
  • DBA_CONS_COLUMNS DBA_CONS_COLUMNS视图存储关于数据库表中约束字段的信息。需要有系统管理员权限才可以访问。 名称 类型 描述 table_name character varying(64) 约束相关的表名。 column_name character varying(64) 约束相关的列名。 constraint_name character varying(64) 约束名。 position smallint 表中列的位置。 父主题: 系统视图
共100000条