在自动部署中因为要根据集群节点数来对flink的配置文件进行配置,高可用hdfs集群中用Hadoop-admin来作为checkpoint的位置,而在单机里用ip:port作为checkpoint的位置
checkpoint_local: "{{ components.hadoop.roles.namenode.ips[0] }}:{{ components.hadoop.hdfs_port }}"
checkpoint_cluster: "Hadoop-admin"
checkpoint: "{% if components.hadoop.roles.namenode.hosts|length > 1 %}{{ checkpoint_cluster }}{% else %}{{ checkpoint_local }}{% endif %}"
在jinja2模板里用xxxx|length 来判断列表,结合ymal的条件判断语句进行判断,知识点稍微有点冷门,这里分享一下