FrontPage >

目次

制限

info.pngcgroup は、Linux Kernel 2.6.24以降(debian.pngDebian squeeze、centos.pngCentOS 6)で利用可能ですのでご注意ください。

セットアップ

debian.pngDebian squeeze

  1. 手動(または/etc/fstab)でcgroup仮想ファイルシステムをマウントして利用することも可能ですが、cgroup-binパッケージをインストールすると、柔軟なセットアップが可能になります。
    $ sudo apt-get install cgroup-bin
    ...
    Starting cgconfig service: .
    Starting CGroup Rules Engine Daemon...
  2. デフォルトのセットアップ状況を確認します。
    $ ls -l /mnt/cgroups/
    total 0
    drwxr-xr-x 3 root root 0 Feb 21 19:40 cpu
    drwxr-xr-x 3 root root 0 Feb 21 19:40 cpuacct
    drwxr-xr-x 3 root root 0 Feb 21 19:40 devices
    
    $ cat /proc/cgroups 
    #subsys_name	hierarchy	num_cgroups	enabled
    cpuset	0	1	1
    ns	0	1	1
    cpu	1	2	1
    cpuacct	2	2	1
    devices	3	2	1
    freezer	0	1	1
    net_cls	0	1	1

ubuntu.pngUbuntu 13.04、12.10

  1. Ubuntuで提供されているのは、cgroup-lite です。cgroup-bin もインストールできますが、Debianのようなサービス(cgconfig、CGroup Rules Engine Daemon)は追加されませんので注意が必要です。
    $ sudo apt-get install cgroup-lite
    ...
  2. デフォルトのセットアップ状況を確認します。
    $ ls -l /sys/fs/cgroup
    total 0
    drwxr-xr-x 2 root root 0 Feb 21 19:53 blkio
    drwxr-xr-x 2 root root 0 Feb 21 19:53 cpu
    drwxr-xr-x 2 root root 0 Feb 21 19:53 cpuacct
    drwxr-xr-x 2 root root 0 Feb 21 19:53 cpuset
    drwxr-xr-x 2 root root 0 Feb 21 19:53 devices
    drwxr-xr-x 2 root root 0 Feb 21 19:53 freezer
    drwxr-xr-x 2 root root 0 Feb 21 19:53 memory
    drwxr-xr-x 2 root root 0 Feb 21 19:53 perf_event
    
    $ cat /proc/cgroups 
    #subsys_name	hierarchy	num_cgroups	enabled
    cpuset	33	1	1
    cpu	34	1	1
    cpuacct	35	1	1
    memory	36	1	1
    devices	37	1	1
    freezer	38	1	1
    blkio	39	1	1
    perf_event	40	1	1

centos.pngCentOS 6

  1. libcgroupパッケージをインストールします。デフォルトでは、cgconfig、cgredサービスが起動されませんので、必要に応じて有効にし起動させます。
    $ sudo yum install libcgroup
    ...
    $ sudo chkconfig cgconfig on
    $ sudo service cgconfig start
    $ sudo chkconfig cgred on
    $ sudo service cgred start
  2. デフォルトのセットアップ状況を確認します。
    $ cat /proc/cgroups 
    #subsys_name	hierarchy	num_cgroups	enabled
    cpuset	3	1	1
    ns	0	1	1
    cpu	4	1	1
    cpuacct	5	1	1
    memory	6	1	1
    devices	7	1	1
    freezer	8	1	1
    net_cls	9	1	1
    blkio	10	1	1
    perf_event	0	1	1
    net_prio	0	1	1
    
    $ ls -l /cgroup
    total 0
    drwxr-xr-x 2 root root 0 Feb 21 20:14 blkio
    drwxr-xr-x 2 root root 0 Feb 21 20:14 cpu
    drwxr-xr-x 2 root root 0 Feb 21 20:14 cpuacct
    drwxr-xr-x 2 root root 0 Feb 21 20:14 cpuset
    drwxr-xr-x 2 root root 0 Feb 21 20:14 devices
    drwxr-xr-x 2 root root 0 Feb 21 20:14 freezer
    drwxr-xr-x 2 root root 0 Feb 21 20:14 memory
    drwxr-xr-x 2 root root 0 Feb 21 20:14 net_cls

リソース管理グループの設定

  • 当然ながら、cgroup仮想ファイルシステムはOS起動時に都度マウントされるため、必要なリソース管理グループは何らかの方法でセットアップしなければなりません。

cgconfig サービスを利用する場合(debian.pngDebian squeeze、centos.pngCentOS 6)

  1. /etc/cgconfig.conf に以下の要領でリソース管理グループを追加します。
    1. group hadoop-yarn {
    2.     perm {
    3.         task {
    4.             uid = yarn;
    5.             gid = yarn;
    6.         }
    7.         admin {
    8.             uid = yarn;
    9.             gid = yarn;
    10.         }
    11.     }
    12.     cpu {
    13.     }
    14. }

ubuntu.pngUbuntu 12.10 の場合

  1. Ubuntu では、cgconfig 及び CGroup Rules Engine Daemon サービスが削除されています*1ので、独自の方法でリソース管理グループをセットアップする必要があります。例えば、以下のようなUpstartジョブ(/etc/init/cgconfig4yarn.conf)を用意してセットアップする方法が考えられるでしょう。
    1. description "cgroup configurations for YARN"
    2.  
    3. start on started cgroup-lite
    4.  
    5. script
    6.     for subsys in cpu; do
    7.         HIERARCHY_PATH=/sys/fs/cgroup/${subsys}/hadoop-yarn
    8.         if [ ! -d $HIERARCHY_PATH ]; then
    9.             mkdir $HIERARCHY_PATH
    10.             chown -R yarn:yarn $HIERARCHY_PATH
    11.         fi
    12.     done
    13. end script

*1 cgroup-bin (deleted) init scripts stick around

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-11-04 (月) 01:04:10 (2059d)