自顶向下——基于方法论下的Redis集成[三]
# 1.3 services/REDIS/configuration
文件夹详解
Ambari Stack 中所有服务的配置都以 XML 字典形式保存在 configuration/
目录下,每个配置文件会被映射成一个 config-type
,最终由 params_linux.py
加载并传递给 *.j2
模板使用。
Redis 组件将配置拆分为两类:
文件名 | config-type 名称 | 作用领域 | 是否用于 Jinja 渲染 |
---|---|---|---|
redis-env.xml | redis-env | 运行环境变量 | ✅ 是 |
redis-site.xml | redis-site | Redis 功能项 | ✅ 是 |
# 1.3.1 redis-env.xml
环境变量配置
该文件用于定义 Redis 服务运行时所需的系统级参数,包括用户名、监听端口、日志/数据目录、PID 文件路径及守护进程选项。
<configuration>
<property>
<name>redis_user</name>
<value>redis</value>
</property>
<property>
<name>redis_port</name>
<value>6379</value>
</property>
<property>
<name>redis_password</name>
<value>redis123</value>
</property>
<property>
<name>redis_log_dir</name>
<value>/var/log/redis</value>
</property>
<property>
<name>redis_data_dir</name>
<value>/var/lib/redis</value>
</property>
<property>
<name>redis_pid_dir</name>
<value>/var/run/redis</value>
</property>
<property>
<name>daemonize</name>
<value>yes</value>
</property>
</configuration>
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
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
使用建议
redis_password
可结合安全脚本做动态加密替换。daemonize
设置为yes
将 Redis 以后台方式运行,方便进程管理。
# 1.3.2 redis-site.xml
功能配置项
该文件主要控制 Redis 本身的运行逻辑,例如持久化方式、内存限制、客户端连接数、集群参数等,是 redis.conf.j2
模板的主要数据源。
<configuration>
<property>
<name>appendonly</name>
<value>yes</value>
</property>
<property>
<name>appendfilename</name>
<value>appendonly.aof</value>
</property>
<property>
<name>appendfsync</name>
<value>everysec</value>
</property>
<property>
<name>save_intervals</name>
<value>900 1 300 10 60 10000</value>
</property>
<property>
<name>dbfilename</name>
<value>dump.rdb</value>
</property>
<property>
<name>maxmemory</name>
<value>2gb</value>
</property>
<property>
<name>maxmemory_policy</name>
<value>allkeys-lru</value>
</property>
<property>
<name>maxclients</name>
<value>10000</value>
</property>
<property>
<name>timeout</name>
<value>300</value>
</property>
<property>
<name>databases</name>
<value>16</value>
</property>
<property>
<name>tcp_keepalive</name>
<value>60</value>
</property>
<property>
<name>protected_mode</name>
<value>no</value>
</property>
<property>
<name>cluster_enabled</name>
<value>yes</value>
</property>
<property>
<name>cluster_config_file</name>
<value>/etc/redis/cluster.conf</value>
</property>
</configuration>
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
55
56
57
58
59
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
55
56
57
58
59
特别注意
- 若开启
appendonly
模式,请确保磁盘空间充足,AOF 文件增长速度较快。 protected_mode=no
仅适用于安全内网,强烈不建议公网开启。
通过将环境变量与功能配置分离分离式设计,可以实现更清晰的责任划分与模板参数注入逻辑,也便于未来扩展集群参数、认证机制等高级配置。