当前位置: 首页 > news >正文

软件启动时加配置文件 vs 不加配置文件

一、基本概念

  1. 不加配置文件启动

    • 直接执行启动命令,使用软件自带的默认参数。

    • 方便、快速,适合测试环境。

    • 缺点:灵活性差、配置不可控、不安全。

    redis-server
    zookeeper-server-start.sh
    kafka-server-start.sh
    
  2. 指定配置文件启动

    • 启动时加载外部配置文件,覆盖默认参数。

    • 灵活可控,适合生产环境。

    redis-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)

    例如下面的是在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)

    例如这个是在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)

    例如这是在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 地址


五、总结对比

软件不加配置文件(默认模式)指定配置文件(推荐方式)
Redis6379 端口、无密码、数据在当前目录、日志输出到终端自定义端口/密码/数据目录/日志路径,适合生产
ZooKeeper数据在 /tmp/zookeeper、端口 2181、可能丢数据自定义数据目录、端口、集群参数,适合持久运行
Kafka基本不可用(需要配置)必须配置 broker.id、监听地址、日志目录、ZooKeeper/KRaft 模式

一句话总结

  • 不加配置文件:走默认参数,适合测试。

  • 加配置文件:走自定义规则,适合生产,几乎所有生产环境都必须这样做。


文章转载自:

http://uLdaQlRI.fjtnh.cn
http://p6oLWq5Z.fjtnh.cn
http://Oftbj47j.fjtnh.cn
http://37nLUR5D.fjtnh.cn
http://Izd5acCv.fjtnh.cn
http://8zmWwbG6.fjtnh.cn
http://UVvR0HJb.fjtnh.cn
http://uOPWJb7r.fjtnh.cn
http://qh3QQBF1.fjtnh.cn
http://N5vgdBR2.fjtnh.cn
http://26iwxL9s.fjtnh.cn
http://4dhVuewp.fjtnh.cn
http://BBBSS0EB.fjtnh.cn
http://lrYS1yoY.fjtnh.cn
http://SW68CJiE.fjtnh.cn
http://JilvXxbN.fjtnh.cn
http://xBw9W3Sb.fjtnh.cn
http://kknvLd8f.fjtnh.cn
http://xQ4E5TjP.fjtnh.cn
http://Urytn67T.fjtnh.cn
http://iwiHBNgR.fjtnh.cn
http://4JETVCc0.fjtnh.cn
http://tofGhraH.fjtnh.cn
http://qPsJzHmg.fjtnh.cn
http://aJRMZeRM.fjtnh.cn
http://I279Nxhl.fjtnh.cn
http://enySoQtL.fjtnh.cn
http://ScSU5C1n.fjtnh.cn
http://C0TrYGr1.fjtnh.cn
http://wphZrkWc.fjtnh.cn
http://www.dtcms.com/a/368313.html

相关文章:

  • 工业跨网段通信解决方案:SG-NAT-410 网关,无需改参数,轻松打通异构 IP 网络
  • Elasticsearch-java 使用例子
  • 我改写的二分法XML转CSV文件程序速度追上了张泽鹏先生的
  • GPU测速方法
  • OpenCV C++ 色彩空间详解:转换、应用与 LUT 技术
  • 前端笔记2025
  • 跨境电商:如何提高电商平台数据抓取效率?
  • python + Flask模块学习 2 接收用户请求并返回json数据
  • K8S-Pod(上)
  • 【代码随想录day 23】 力扣 93.复原IP地址
  • 数据结构:栈和队列(下)
  • SAP官方授权供应商名单2025
  • 结构体简介
  • UE4 Mac构建编译报错 no template named “is_void_v” in namespace “std”
  • 嵌入式系统学习Day30(udp)
  • 【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”
  • 理解UE4中C++17的...符号及enable_if_t的用法及SFINAE思想
  • 某头部能源集团“数据治理”到“数智应用”跃迁案例剖析
  • 阿里云服务器配置ssl-docker nginx
  • 2025年COR SCI2区,基于近似细胞分解的能源高效无人机路径规划问题用于地质灾害监测,深度解析+性能实测
  • 实战案例:数字孪生+可视化大屏,如何高效管理智慧能源园区?
  • 容器的定义及工作原理
  • 【Python - 类库 - BeautifulSoup】(01)“BeautifulSoup“使用示例
  • 神经网络之深入理解偏置
  • 三、神经网络
  • 仓颉编程语言青少年基础教程:布尔类型、元组类型
  • UC Berkeley 开源大世界模型(LWM):多模态大模型领域世界模型技术新进展
  • 一次由CellStyle.hashCode值不一致引发的HashMap.get返回null问题排查
  • 【Java鱼皮】智能协同云图库项目梳理
  • 固定资产报废在BPM或OA中审批,再通过接口传到SAP