|
2 | 2 | # Cookbook Name:: hadoop |
3 | 3 | # Recipe:: hadoop_yarn_nodemanager |
4 | 4 | # |
5 | | -# Copyright © 2013-2015 Cask Data, Inc. |
| 5 | +# Copyright © 2013-2017 Cask Data, Inc. |
6 | 6 | # |
7 | 7 | # Licensed under the Apache License, Version 2.0 (the "License"); |
8 | 8 | # you may not use this file except in compliance with the License. |
|
21 | 21 | include_recipe 'hadoop::_system_tuning' |
22 | 22 | pkg = 'hadoop-yarn-nodemanager' |
23 | 23 |
|
24 | | -%w(yarn.nodemanager.local-dirs yarn.nodemanager.log-dirs).each do |opt| |
25 | | - next unless node['hadoop'].key?('yarn_site') && node['hadoop']['yarn_site'].key?(opt) |
26 | | - node['hadoop']['yarn_site'][opt].split(',').each do |dir| |
27 | | - directory dir.gsub('file://', '') do |
28 | | - owner 'yarn' |
29 | | - group 'yarn' |
30 | | - mode '0755' |
31 | | - action :create |
32 | | - recursive true |
33 | | - end |
34 | | - end |
35 | | -end |
36 | | - |
37 | 24 | # Ensure permissions for secure Hadoop... this *should* be no-op |
38 | 25 | file "#{hadoop_lib_dir}/hadoop-yarn/bin/container-executor" do |
39 | 26 | owner 'root' |
|
49 | 36 | else |
50 | 37 | '/var/log/hadoop-yarn' |
51 | 38 | end |
52 | | - |
53 | 39 | yarn_pid_dir = |
54 | 40 | if hdp22? || iop? |
55 | 41 | '/var/run/hadoop/yarn' |
56 | 42 | else |
57 | 43 | '/var/run/hadoop-yarn' |
58 | 44 | end |
| 45 | +nm_local_dirs = |
| 46 | + if node['hadoop'].key?('yarn_site') && node['hadoop']['yarn_site'].key?('yarn.nodemanager.local-dirs') |
| 47 | + node['hadoop']['yarn_site']['yarn.nodemanager.local-dirs'] |
| 48 | + else |
| 49 | + 'file:///tmp/hadoop-yarn/nm-local-dir' |
| 50 | + end |
| 51 | +nm_log_dirs = |
| 52 | + if node['hadoop'].key?('yarn_site') && node['hadoop']['yarn_site'].key?('yarn.nodemanager.log-dirs') |
| 53 | + node['hadoop']['yarn_site']['yarn.nodemanager.log-dirs'] |
| 54 | + else |
| 55 | + "#{yarn_log_dir}/userlogs" |
| 56 | + end |
| 57 | + |
| 58 | +node.default['hadoop']['yarn_site']['yarn.nodemanager.local-dirs'] = nm_local_dirs |
| 59 | +node.default['hadoop']['yarn_site']['yarn.nodemanager.log-dirs'] = nm_log_dirs |
| 60 | + |
| 61 | +%w(yarn.nodemanager.local-dirs yarn.nodemanager.log-dirs).each do |opt| |
| 62 | + node['hadoop']['yarn_site'][opt].split(',').each do |dir| |
| 63 | + directory dir.gsub('file://', '') do |
| 64 | + owner 'yarn' |
| 65 | + group 'yarn' |
| 66 | + mode '0755' |
| 67 | + action :create |
| 68 | + recursive true |
| 69 | + end |
| 70 | + end |
| 71 | +end |
59 | 72 |
|
60 | 73 | # Create /etc/default configuration |
61 | 74 | template "/etc/default/#{pkg}" do |
|
0 commit comments