logs.dir=/tmp/kafka-logs
的默认值server.properties
。通常/tmp
避免保留任何重要文件,而我们正在存储消息和偏移量!
任何特定的原因导致一个人不能选择/var/log/kafka-logs
或/opt/kafka-logs
注意 — 假设/tmp
都是/var/log
相同的文件系统类型。
答案1
您总会发现我将文件放在标准目录中或尽可能靠近它们。
这样做的原因是为了让未来的管理员以后能找到它们——因为很多时候未来的管理员就是我!
例如,考虑日志,因为这就是您提到的。我会创建一个子目录来/var/log
存储这些内容,例如/var/log/kafka
。该目录/var/log
是大多数管理员查找任何软件包的日志时首先要去的地方。Apache 的默认设置是/tmp/kafka-logs
非常没有意义的,正如您已经发现的那样。Cloudera 的默认设置日志目录/var/log/kafka
更有意义。
如果确实需要挂载磁盘分区来存储日志,则不必更改日志目录;而是直接在 挂载新的磁盘空间/var/log/kafka
。
并且/opt
适用于大型第三方软件包;我预计大多数东西都不会在这里找到。此目录中的任何东西都几乎没有标准或惯例,因此可能很难找到东西。
答案2
最好的位置是安装一个单独的分区,将所有数据放在同一个位置,该分区对操作系统和/或其他已安装的软件包不具有其他功能
/var/log/ 也被其他程序处理,如 logrotate 等,因此将 Kafka 数据放在那里并不安全。
/opt/ 不应保存任何程序数据,仅应保存额外安装的软件
根据您拥有的消息类型,您可能希望限制与它们的任何交互/可能出现的问题。