ambari安装_ambari自定义服务干货

声明:博主写了一些Ambari自定义服务系列文章,可以在历史文章中查看。

仔细看,肯定会对ambari的自定义服务有一个更清晰的认识。

版本:ambari 2.6.1

一、实时更改服务配置

# 以hue的配置文件hue.ini为例File(format("/usr/hdp/2.6.4.0-91/hue/desktop/conf/hue.ini"), content=Template("hue.ini.j2"), owner=params.hue_user, group=params.hue_group )# 解读:# 1. File的第一个变量为:实际服务的配置文件的所在地# 2. File的第二个变量为:在服务的./package/目录下新建templates文件夹,该文件夹下放入hue.ini.j2文件,与配置文件hue.ini内容一致。# 3. File的第三个变量为:所有者为hue# 4. File的第四个变量为: 所在组为hue
d55f3f4c79c9b39b3cf2083a63393076.png

变量以{% raw %}{{}}{% endraw %}括起来,变量定义在param.py文件。

# param.py局部from resource_management.libraries.script.script import Scriptconfig = Script.get_config()http_host = config['hostname']http_port = config['configurations']['hue-env']['http_port']# 其中的'configurations'是代表着ambari集群已安装组件的所有xml配置文件# 'hue-env'对应着 configuration/hue-env.xml

hue-env.xml文件

目录:configuration/hue-env.xml

772ec2c9b115db81f10321cc442fb489.png

这样的话,当在ambari界面上的hue服务那修改配置,后台根据config命令来读取前端修改的值,然后赋值于hue.ini.j2,hue.ini.j2又与hue.ini相关联。这样,hue的配置文件就会被实时更改,然后在ambari界面上根据提示重启hue服务,配置即可生效。

二、py脚本内创建/删除文件夹、文件

2.1 创建文件夹、文件

def start(self, env): import params env.set_params(params)  Directory([params.hue_pid_dir], mode=0755, cd_access='a', owner=params.hue_user, group=params.hue_group, create_parents=True ) File([params.hue_log_file, params.hue_server_pid_file], mode=0644, owner=params.hue_user, group=params.hue_group, content='' )# 说明# import导入params.py文件,该文件内有上面用到的‘hue_pid_dir’,‘hue_log_file’,‘hue_server_pid_file’变量的定义# Directory表示执行文件夹操作,[]括起来的是要创建的文件夹名称,mode是权限,owner/group是用户/组,create_parents=True是父目录不存在时一起创建。# create_parents=True 有待验证。# File表示执行文件操作,[]括起来的是要创建的文件名称,mode是权限,owner/group是用户/组,content=''代表内容为空。

2.2 删除文件夹/文件

def stop(self, env): import params env.set_params(params) Directory(params.hue_pid_dir, action="delete
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值