Jstorm 调度硬件资源cgroups

简介: cgroups是control groups的缩写,是Linux内核提供的一种可以限制, 记录, 隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO 等等)的机制。

Cgroups

cgroups是control groups的缩写,是Linux内核提供的一种可以限制, 记录, 隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO 等等)的机制。

Jstorm 使用 Cgroups

在Jstorm中,我们使用cgroup进行cpu硬件资源的管理。使用前,需要做如下检查和配置。

1.检查/etc/passwd 文件中当前用户的uid和gid, 假设当前用户是admin, 则看/etc/passwd文件中admin的uid和gid是多少

2.cgroup功能在当前系统的内核版本是否支持

3.检查/etc/cgconfig.conf是否存在。如果不存在, 请“yum install libcgroup”,如果存在,设置cpu子系统的挂载目录位置, 以及修改该配置文件中相应的uid/gid为启动jstorm用户的uid/gid, 本例子中以500为例, 注意是根据第一步来进行设置的。

mount {    
     cpu = /cgroup/cpu;
 }


 group jstorm {
      perm {
              task {
                     uid = 500;
                     gid = 500;
              }
              admin {
                     uid = 500;
                     gid = 500;
              }
      }
      cpu {
      }
 }

4.然后启动cgroup服务

service cgconfig restart
chkconfig --level 23456 cgconfig on
Note: cgconfig.conf只能在root模式下修改。
或者直接执行命令

cgconfig.conf配置文件例子。

比如jstorm的启动用户为admin,admin在当前 系统的uid/gid为500(查看/etc/passwd 可以查看到uid和gid),那么相对应cpu子系统的jstorm目录uid/gid也需要设置为相同的值。 以便jstorm有相应权限可以在这个目录下为jstorm的每个需要进行资源隔离的进程创建对应 的目录和进行相关设置。

mkdir /cgroup/cpu
mount  -t cgroup -o cpu none /cgroup/cpu
mkdir /cgroup/cpu/jstorm
chown admin:admin /cgroup/cpu/jstorm

在jstorm配置文件中打开cgroup, 配置storm.yaml

supervisor.enable.cgroup: true

作者:glowd

原文:https://blog.csdn.net/zengqiang1/article/details/78451307
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章
|
Kubernetes 监控 Cloud Native
Kubernetes自动伸缩方案的终极指南
【4月更文挑战第18天】
600 0
Kubernetes自动伸缩方案的终极指南
|
存储 JSON Apache
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
在最新发布的阿里云数据库 SelectDB 的内核 Apache Doris 2.1 新版本中,我们引入了全新的数据类型 Variant,对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列,彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。
541 1
揭秘 Variant 数据类型:灵活应对半结构化数据,JSON查询提速超 8 倍,存储空间节省 65%
|
NoSQL 安全 数据安全/隐私保护
MongoDB中使用的SCRAM-SHA1认证机制
介绍 SCRAM是密码学中的一种认证机制,全称Salted Challenge Response Authentication Mechanism。 SCRAM适用于使用基于『用户名:密码』这种简单认证模型的连接协议。 SCRAM是一个抽象的机制,在其设计中需要用到一个哈希函数,这个哈希函数是
20882 0
|
Kubernetes Cloud Native 网络协议
Kubernetes 高可用性与灾难恢复方案
【8月更文第29天】随着业务的不断增长,保持应用程序的高可用性和灾难恢复能力变得越来越重要。Kubernetes 作为现代云原生应用的主要平台,提供了丰富的工具和方法来保证应用的高可用性以及快速恢复的能力。本文将详细介绍如何利用 Kubernetes 的功能来构建高可用性的系统,并实施有效的灾难恢复策略。
517 2
|
8月前
|
缓存 容灾 网络协议
ACK One多集群网关:实现高效容灾方案
ACK One多集群网关可以帮助您快速构建同城跨AZ多活容灾系统、混合云同城跨AZ多活容灾系统,以及异地容灾系统。
|
11月前
|
Kubernetes 监控 测试技术
k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案
k8s学习--OpenKruise详细解释以及原地升级及全链路灰度发布方案
402 0
|
消息中间件 Java Kafka
基于事件驱动的微服务架构设计与实现
基于事件驱动的微服务架构设计与实现
|
12月前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
Kubernetes 安全 Serverless
为什么 Higress 是 Knative 入口网关的最佳实践?
本文介绍了 Knative 网络层原理,Higress 对接 Knative 服务的两种方式,并给出 Higress 成为 Knative 入口网关的最佳实践。