一、基本概念
不加配置文件启动
直接执行启动命令,使用软件自带的默认参数。
方便、快速,适合测试环境。
缺点:灵活性差、配置不可控、不安全。
bashredis-server zookeeper-server-start.sh kafka-server-start.sh指定配置文件启动
启动时加载外部配置文件,覆盖默认参数。
灵活可控,适合生产环境。
bashredis-server /etc/redis/redis.conf zookeeper-server-start.sh /usr/local/zookeeper/conf/zoo.cfg kafka-server-start.sh /usr/local/kafka/config/server.properties
二、Redis 示例
不加配置文件
端口:6379
无密码(安全性差)
数据目录:当前目录
日志输出:终端
指定配置文件(redis.conf)
bash例如下面的是在redis.conf的配置 port 6380 requirepass mypassword dir /var/lib/redis logfile /var/log/redis.log
端口改为 6380
启用密码
mypassword数据文件存储在
/var/lib/redis日志写入
/var/log/redis.log
三、ZooKeeper 示例
不加配置文件
默认数据目录
/tmp/zookeeper客户端端口:2181
重启可能丢数据(因为 /tmp 会清理)
指定配置文件(zoo.cfg)
bash例如这个是在zoo.cfg下写的配置 dataDir=/usr/local/zookeeper/data clientPort=2181 tickTime=2000 initLimit=5 syncLimit=2
数据保存在固定目录
/usr/local/zookeeper/data端口仍是 2181(可修改)
tickTime、initLimit、syncLimit 用于集群稳定性配置
四、Kafka 示例
不加配置文件
很少直接这样做,因为 Kafka 必须依赖配置文件才能运行(尤其是要指定 ZooKeeper 或 KRaft 模式)。
默认配置在
config/server.properties指定配置文件(server.properties)
bash例如这是在server.properties下写的配置 broker.id=0 listeners=PLAINTEXT://:9092 log.dirs=/usr/local/kafka/logs zookeeper.connect=localhost:2181
指定 broker 编号
服务监听端口 9092
日志保存路径
/usr/local/kafka/logs关联 ZooKeeper 地址
五、总结对比
软件 不加配置文件(默认模式) 指定配置文件(推荐方式) Redis 6379 端口、无密码、数据在当前目录、日志输出到终端 自定义端口/密码/数据目录/日志路径,适合生产 ZooKeeper 数据在 /tmp/zookeeper、端口 2181、可能丢数据自定义数据目录、端口、集群参数,适合持久运行 Kafka 基本不可用(需要配置) 必须配置 broker.id、监听地址、日志目录、ZooKeeper/KRaft 模式
✅ 一句话总结
不加配置文件:走默认参数,适合测试。
加配置文件:走自定义规则,适合生产,几乎所有生产环境都必须这样做。
软件启动时加配置文件 vs 不加配置文件
你我约定有三2025-09-06 12:50
相关推荐
choumou_M4 小时前
SpringBoot_7:用户资源的上传与修改user_admin_god4 小时前
一体化数据归集接口详细设计说明LlmCraft|大模型工程实践5 小时前
08. Docker Compose 一键编排:多容器应用的指挥家珍珠先生5 小时前
第14章 设计模式入门:单例、工厂、建造者与代理坐吃山猪5 小时前
JDK 8 到 JDK 21 新特性知识要点坐吃山猪5 小时前
【多线程】FutureTask多线程底层实现weixin199701080165 小时前
[特殊字符]《从0到1:闲鱼开放平台授权登录 + AccessToken 刷新 + 聚石塔部署完整链路》(附Python源码)Freak嵌入式5 小时前
RP2040 PIO 编程模型与状态机原理:从硬件架构到工作逻辑全解析kakawzw5 小时前
Netty源码笔记zhuodedao5 小时前
Spring AI + MCP 文件工具未调用问题复盘:为什么初始化成功却没有写入文件?