KAR*_*ván 2 configuration puppet hadoop
我想使用 puppet 来管理一个 hadoop 集群。在机器上,我们有几个必须创建和设置权限的目录。
但我无法为定义的方法添加数组值。
define hdfs_site( $dirs ) {
file { $dirs:
ensure => directory,
owner => "hadoop",
group => "hadoop",
mode => 755;
}
file {
"/opt/hadoop/conf/hdfs-site.xml":
content => template("hdfs-site.xml.erb"),
owner => "root",
group => "root",
mode => 644;
}
}
define hadoop_slave( $mem, $cpu, $dirs ) {
hadoop_base {
mem => $mem,
cpu => $cpu,
}
hdfs_site {
dirs => $dirs,
}
}
Run Code Online (Sandbox Code Playgroud)
hadoop_base
类似于hdfs_site
.
编辑
错误消息是:
无法解析环境生产:所有资源规范都需要名称;/etc/puppet/modules/hadoop/manifests/init.pp:52 处的预期“%s”
这是$dirs
行hadoop_slave
正如消息告诉您的那样,任何资源规范都需要一个名称。
在您的特定情况下,以下代码段应该有效:
define hadoop_slave( $mem, $cpu, $dirs ) {
hadoop_base { "${name}_hadoop_base":
mem => $mem,
cpu => $cpu,
}
hdfs_site { "${name}_hdfs_site":
dirs => $dirs,
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3091 次 |
最近记录: |