zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

Ambari 页面配置

配置 页面 Ambari
2023-09-14 09:14:49 时间

Template 填充配置文件模板

用户在 service 页面配置中填写的值,来填充组件的配置模板,生成最终的配置文件

# params文件提前将用户在配置页填写的配置项的值读取进来
# 对于 config-template.xml.j2 所有的模板变量,必须在params文件中定义,否则模板填充会报错
# 也就是说所有模板内容必须能够正确填充
import params
env.set_params(params)

# config-template为configuration 文件夹中的j2文件名
file_content = Template('config-template.xml.j2')

Python 替换配置文件模板使用的是 Jinja2 模板

InlineTemplate

和 Template 相同,只不过配置文件的模板来自于变量值,而不是 Template 中的 xml 模板

file_content = InlineTemplate(self.getConfig()['configurations']['gateway-log4j']['content'])

File

把内容写入文件

File(path,
        content=file_content,
        owner=owner_user,
        group=sample_group)

Directory

创建目录

Directory(directories,
              create_parents=True,
              mode=0755,
              owner=params.elastic_user,
              group=params.elastic_group
              )

User

用户操作

# 创建用户
User(user_name, action = "create", groups = group_name)

Execute

执行特定的脚本

Execute('ls -al', user = 'user1')

调试自定义服务代码

from resource_management.core.logger import Logger 

Logger.info("Starting sample Service")