TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 支持&共建

    • 蓝图愿景
    • 技术支持
    • 合作共建
登陆
GitHub (opens new window)
  • Bigtop通用部分

  • Bigtop打包部分

  • Ambari部分

    • Step10-Stacks-包结构
    • Step11-Stacks-组件编排
    • Step12-Stacks-配置文件
    • Step13-Stacks-模板文件
      • 1. 模板文件路径与作用
      • 2. redis.conf.j2 模板内容举例
      • 3. 模板渲染与下发过程
    • Step14-Scripts-环境变量
    • Step15-Scripts-执行逻辑
    • Step16-Scripts-服务检查
    • Step17-Scripts-组件优先级
    • Step18-衔接-打通Ambari与Bigtop
  • J-Redis集成-F
  • Ambari部分
JaneTTR
2025-06-24
目录

Step13-Stacks-模板文件

# 1. 模板文件路径与作用

Redis 组件在 Ambari Stacks 下的所有配置文件,最终都是通过模板渲染下发到每个节点的。模板文件位置如下:

ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/REDIS/package/templates/redis.conf.j2
1
  • .j2 后缀代表 Jinja2 模板语法。
  • 通过模板统一管理不同节点、不同角色的参数填充和配置生成。

# 2. redis.conf.j2 模板内容举例

模板文件采用 Jinja2 语法,将所有变量占位,待实际执行时动态渲染为真实参数。 以下是典型模板片段:

# Redis server configuration template

# Redis port configuration
port {{ redis_port }}

# Cluster mode enabled
cluster-enabled {{ cluster_enabled }}

# Cluster configuration file location
cluster-config-file {{ cluster_config_file }}

# Enable append-only persistence (AOF)
appendonly {{ appendonly }}
appendfilename "{{ appendfilename }}"
appendfsync {{ appendfsync }}

# RDB persistence configuration
save {{ save_intervals }}
dir {{ redis_data_dir }}
dbfilename {{ dbfilename }}

# Log file location
logfile {{ redis_log_dir }}/redis.log

# Maximum memory Redis is allowed to use (memory limit)
maxmemory {{ maxmemory }}

# Maximum eviction policy when memory limit is reached
maxmemory-policy {{ maxmemory_policy }}

# PID file location
pidfile {{ redis_pid_dir }}/redis.pid

# Password protection
requirepass {{ redis_password }}

# Daemonize Redis to run in the background
daemonize {{ daemonize }}

# Set the maximum number of connections
maxclients {{ maxclients }}

# Set the timeout for idle connections (in seconds)
timeout {{ timeout }}

# Set the number of databases (default: 16)
databases {{ databases }}

# TCP keepalive to prevent broken connections from accumulating
tcp-keepalive {{ tcp_keepalive }}

# Disable protected mode (caution, ensure proper network restrictions)
protected-mode {{ protected_mode }}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

# 3. 模板渲染与下发过程

模板渲染后实际内容效果 模板并非直接生效,而是由 Ambari Agent 执行 Python 脚本自动渲染。实际流程如下:

  1. 启动脚本会自动渲染模板,生成最终的 redis.conf 文件。
  2. 模板变量全部由 params 传入,确保每个节点生成的配置均为当前参数最新状态。

代码示例:

File(
    os.path.join(params.redis_conf_parent, "redis.conf"),
    content=Template("redis.conf.j2"),
    owner=params.redis_user,
    group=params.user_group,
    mode=0o644
)
1
2
3
4
5
6
7
  • 这里 Template("redis.conf.j2") 表示加载上文的模板文件。
  • params 内的所有属性会被自动替换到模板对应的占位变量上。
#Redis#bigtop#编译日志#自动化构建#版本注入
Step12-Stacks-配置文件
Step14-Scripts-环境变量

← Step12-Stacks-配置文件 Step14-Scripts-环境变量→

最近更新
01
bigtop-select 打包缺 compat 报错修复 deb
07-16
02
bigtop-select 打包缺 control 文件报错修复 deb
07-16
03
首次编译-环境初始化 必装
07-16
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式