Arangodb:--database.directory 给实例命名时不考虑设置
Arangodb: --database.directory setting not respected when giving instance a name
当我这样 运行 arangod 时:
arangod --supervisor --daemon --pid-file some_file \
--configuration some_file.conf \
single_instance
然后
--database.directory
选项被忽略并且
/var/tmp/single_instance
包含
的目录
├── single_instance_db
├── databases
├── journals
├── LOCK
├── rocksdb
├── SERVER
└── SHUTDOWN
已创建。
但是当我这样 运行 arangod 时:
arangod --supervisor --daemon --pid-file some_file \
--configuration some_file.conf
然后
--database.directory
选项被接受。
为什么?
(是否有错误?)
arangod 在启动期间为我打印的内容之一是:
changed working directory for child process to '/var/tmp'
这是监督者在分叉 child 之前完成的。
因为你给了它相对目录 single_instance
,这个数据库目录是在当时的当前工作目录 /var/tmp/
中创建的,因此数据库目录总计 /var/tmp/single_instance
。
如果在那种情况下你想要一个特定的目录,你应该指定一个绝对路径,比如 /var/lib/arangodb/single_instance
。
当我这样 运行 arangod 时:
arangod --supervisor --daemon --pid-file some_file \
--configuration some_file.conf \
single_instance
然后
--database.directory
选项被忽略并且
/var/tmp/single_instance
包含
的目录├── single_instance_db
├── databases
├── journals
├── LOCK
├── rocksdb
├── SERVER
└── SHUTDOWN
已创建。
但是当我这样 运行 arangod 时:
arangod --supervisor --daemon --pid-file some_file \
--configuration some_file.conf
然后
--database.directory
选项被接受。
为什么?
(是否有错误?)
arangod 在启动期间为我打印的内容之一是:
changed working directory for child process to '/var/tmp'
这是监督者在分叉 child 之前完成的。
因为你给了它相对目录 single_instance
,这个数据库目录是在当时的当前工作目录 /var/tmp/
中创建的,因此数据库目录总计 /var/tmp/single_instance
。
如果在那种情况下你想要一个特定的目录,你应该指定一个绝对路径,比如 /var/lib/arangodb/single_instance
。