我将以下内容作为 puppet 步骤:
file { '/etc/profile.d/spark_submit.sh' :
content => "export SPARK_HOME=/var/lib/spark/spark\nexport PATH=\$PATH:\$SPARK_HOME/bin/\n",
}
->
file_line { 'spark_submit_bashrc':
path => '/etc/bash.bashrc',
line => "source /etc/profile.d/spark_submit.sh"
}
文件已正确生成。环境变量以 root 用户和非 root 用户的身份出现在命令行中。但是,如果我从外部机器上踢 puppet ,环境变量似乎不存在。即,如果我从盒子本身中取笑 puppet agent -t,它运行良好。如果我从另一个盒子踢 puppet ,则不会设置 SPARK_HOME 变量。有没有我可以注册变量的位置,以便在运行 puppet kick 时可用?
注意:这是在带有 puppet 3.7.4 的 ubuntu(可信)上。
最佳答案
我将继续假设实际问题是使用 puppet kick
,您联系了一个长时间运行的代理进程来监听连接。它只会在重新启动时刷新其环境,因此您需要在更改文件时触发 puppet agent
服务的重新启动。
关于linux - puppet 踢和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28215007/